【发布时间】:2012-04-13 08:09:20
【问题描述】:
我正在开发一个基于 en WPF(MVVM 模式)的桌面应用程序 我正在使用 MVVMLight-Toolkit, 在我的应用程序中有一个用户认证系统。 问题是:假设我有一个 ViewA,它的 dataContext 由 ViewModelA 定义。 假设用户 1 登录到应用程序并导航到视图 A,他做了一些事情,然后断开连接。当另一个用户或同一个用户再次登录并导航到同一个 ViewA 时,他会找到前一个用户的最新上下文。 我想杀死 ViewModel Created 的实例并为新用户创建一个新实例。 我尝试在 ViewModelLocator 中添加注册方法
public static void RegisterViewModel<T>() where T : ViewModelBase
{
if (SimpleIoc.Default.IsRegistered<T>()
SimpleIoc.Default.Unregister<T>();
SimpleIoc.Default.Register<T>();
}
但它不起作用,上下文被保留。 你能帮我解决这个问题吗? 谢谢
【问题讨论】:
标签: wpf viewmodel mvvm-light