Android/WASM: prismMvvm:ViewModelLocator.AutoWireViewModel="True"无法为Android和Wasm上的ViewModel进行自动配置
创始人
2024-08-20 07:30:12
0

这个问题的解决方法是在Android和Wasm上手动配置ViewModel,而不是使用自动配置功能。

下面是一个示例代码,展示如何手动配置ViewModel:

在Android上:

  1. 创建一个名为ViewModelLocator的类,继承自ViewModelProvider.AndroidViewModelFactory
public class ViewModelLocator extends ViewModelProvider.AndroidViewModelFactory {

    private Application mApplication;

    public ViewModelLocator(@NonNull Application application) {
        super(application);
        mApplication = application;
    }

    @Override
    public  T create(@NonNull Class modelClass) {
        if (modelClass.isAssignableFrom(MyViewModel.class)) {
            return (T) new MyViewModel(mApplication);
        }
        throw new IllegalArgumentException("Unknown ViewModel class");
    }
}
  1. 在Activity或Fragment中使用ViewModelProvider来获取ViewModel,并将ViewModelLocator传递给它。
ViewModelLocator viewModelLocator = new ViewModelLocator(getApplication());
MyViewModel viewModel = new ViewModelProvider(this, viewModelLocator).get(MyViewModel.class);

在Wasm上:

  1. 创建一个名为ViewModelLocator的类,实现Ioc.IContainer接口。
public class ViewModelLocator : Ioc.IContainer
{
    public T Resolve() where T : class
    {
        if (typeof(T) == typeof(MyViewModel))
        {
            return new MyViewModel() as T;
        }
        throw new ArgumentException("Unknown ViewModel class");
    }
}
  1. 在Startup类的ConfigureServices方法中注册ViewModelLocator
services.AddSingleton();
  1. 在需要使用ViewModel的地方,通过Ioc服务来获取ViewModel实例。
var viewModelLocator = HttpContext.RequestServices.GetService();
MyViewModel viewModel = viewModelLocator.Resolve();

通过手动配置ViewModel,您可以在Android和Wasm上实现相同的功能,并避免使用自动配置时的问题。

相关内容

热门资讯

透视存在!红龙poker透视,... 透视存在!红龙poker透视,wepoker插件功能辅助器,规律教程(竟然真的有挂)1、让任何用户在...
透视讲解!aapoker免费透... 透视讲解!aapoker免费透视脚本,hhpoker免费透视脚本,玩家必看科普(有挂辅助挂)1、完成...
透视了解!wepoker辅助下... 透视了解!wepoker辅助下载,wepoker有机器人吗,曝光教程(原生是真的有挂),支持语音通讯...
透视辅助!wepoker辅助器... 透视辅助!wepoker辅助器下载,智星菠萝辅助,揭秘真相(有挂教程);亲,关键说明,赛季回归,软件...
透视实锤!红龙poker透视工... 1、透视实锤!红龙poker透视工具,wpk辅助器,新版2025教程(原生是有挂)。2、红龙poke...
透视最新!wpk辅助工具下载,... 透视最新!wpk辅助工具下载,wpk辅助器,详细说明(有挂教学)1、每一步都需要思考,不同水平的挑战...
透视总结!hhpoker辅助下... 这是一款非常优秀的hhpoker辅助下载 ia辅助检测软件,能够让你了解到hhpoker辅助下载中牌...
透视讲解!wepoker辅助器... 透视讲解!wepoker辅助器安装包,wepoker底牌透视脚本下载,玩家必看教程(有挂教学)1)辅...
透视安装!wpk脚本下载,安装... 1、透视安装!wpk脚本下载,安装不了wepoker,线上教程(往昔真的是有挂)2、进入游戏-大厅左...
透视透视挂!aapoker辅助... 透视透视挂!aapoker辅助插件工具下载,wepoker辅助器是真的的吗,一分钟了解(有挂透明);...