【发布时间】:2019-02-11 20:32:03
【问题描述】:
我在 WPF 项目中使用 MvvmLight,并按照他们的示例设置了我的视图模型定位器...
public class ViewModelLocator {
public ViewModelLocator() {
SimpleIoc.Default.Register<MainWindowViewModel>();
SimpleIoc.Default.Register<ProductDetailsWindowViewModel>();
}
public MainWindowViewModel MainWindowViewModel =>
SimpleIoc.Default.GetInstance<MainWindowViewModel>();
public ProductDetailsWindowViewModel ProductDetailsWindowViewModel =>
SimpleIoc.Default.GetInstance<ProductDetailsWindowViewModel>();
}
我的 XAML 的开始标记中有以下行...
DataContext="{Binding Source={StaticResource Locator},
Path=ProductDetailsWindowViewModel}"
这可行,但定位器总是返回相同的视图模型,即相同的实例,这意味着如果我打开了多个产品详细信息窗口,它们都将共享相同的视图模型。
当我请求一个新的视图模型时,如何告诉 MvvmLight 创建一个新的视图模型?
【问题讨论】:
标签: c# wpf mvvm-light