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上实现相同的功能,并避免使用自动配置时的问题。

相关内容

热门资讯

专业讨论!wepoker模拟器... wepoker模拟器哪个好用AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏...
重大消息!wpk有那种辅助吗,... 重大消息!wpk有那种辅助吗,WPK有挂吗教程(先前有开挂)AI 智能体黑科技再上新,自动化能力开挂...
推荐几款新版!wepoker底... 您好:wepoker底牌透视这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
总算了解!wpk有作弊吗,德普... 总算了解!wpk有作弊吗,德普之星外卦神器软件教程(竟然有开挂)AI 智能体黑科技再上新,自动化能力...
大神推荐!wepoker透视脚... wepoker透视脚本免费AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻...
避坑细节!如何下载德普之星辅助... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
一分钟了解!!wepoker辅... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
玩家科普!wpk真的有透视嘛,... 玩家科普!wpk真的有透视嘛,WPK透视脚本工具(好像存在有辅助挂)AI 智能体黑科技再上新,自动化...
一分钟揭秘!德普之星辅助工具如... 您好:德普之星辅助工具如何打开这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
大家学习交流!wepoker游... 您好:wepoker游戏安装教程这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...