【发布时间】:2014-02-25 11:16:31
【问题描述】:
我想创建 SearchTagView 的多个实例并将每个实例绑定到它自己的 SearchTagViewModel。
我正在为 WPF 使用 WAF 框架,它遵循 MVVM 概念以及依赖注入 (IoC)。该应用程序是使用 SurfaceSDK 为 SUR40 开发的。
这意味着视图是这样实例化的:
TagVisualizationDefinition tagDefinition = new TagVisualizationDefinition();
tagDefinition.Source = new Uri("Views/SearchTagView.xaml", UriKind.Relative);
tagVisualizer.Definitions.Add(tagDefinition);
tagVisualizer 是SearchView 中TagVisualizer 类型的控制元素。所以多个SearchTagViews 被放在一个SearchView 中。这行得通。
问题是因为依赖注入 all SearchTagViews 使用相同 SearchTagViewModel:
xmlns:vm="clr-namespace:Applications.ViewModels;assembly=Applications"
如何在 MVVM 之后为每个 View 使用不同的 ViewModel?
【问题讨论】:
-
你如何在项目中使用
IoC?你在用UnityBootStrapper吗?如果您要求UnityContainer解决任何类型依赖关系,默认情况下它会返回新实例,除非您使用某些ControlledLifetimeManager对象注册。 -
看来我的框架为 IoC 使用了“System.ComponentModel.Composition”
标签: c# wpf xaml mvvm pixelsense