【发布时间】:2016-09-21 10:05:28
【问题描述】:
我正在使用用于 WPF 和 C# 的 MVVMLight 工具包。 有一个带有窗口(Shell)和控件所在的程序集(UI)的 WPF 应用程序。 ViewModel 位于第三个 DLL (BIZ) 中。
窗口中唯一显示的是一个名为“ShellView”的控件,它是主要的 UI 部分。我这样做是为了能够在不同的窗口中重用大部分应用程序。
目前我正在“Shell”App.config 中完成视图和视图模型之间的所有绑定。
我参考过:
程序集命名空间
xmlns:views="clr-namespace:Application.UI;assembly=Application.UI"
xmlns:vm="clr-namespace:Application.BIZ;assembly=Application.BIZ"
Viewmodel 定位器
<vm:ViewModelLocator xmlns:vm="clr-namespace:Application.BIZ;assembly=Application.BIZ" x:Key="Locator" d:IsDataSource="True" />
并使用了 DataTemplates
<DataTemplate
DataType="{x:Type vm:ShellVM}">
<views:ShellView />
因此,如果我将内容控件的内容绑定到“ViewModelBase”类,则视图会自动显示 - 一切正常。
现在我试图将数据模板的定义移动到 UI 程序集中,并在窗口应用程序中引用它。所以所有的模板和绑定都在 UI 程序集中完成,窗口只引用所有程序集并显示“ShellView”。
我的问题是: 这可能吗?我如何必须引用 App.xaml 中的程序集?目前我收到很多 xaml 解析异常。
提前谢谢你
【问题讨论】:
标签: c# wpf xaml mvvm-light