我正在尝试使用Caliburn.Micro创建一个新的WPF应用程序。我有一个View,我想从一个不遵循MVVM的外部程序集中显示UserControl。
我尝试在View上创建一个ContentControl,在ViewModel中我有一个返回外部用户控件类型的属性。
<ContentControl Name="SqlConnectLabel" Content="{Binding}" />
和
public sql.ConnectLabel SqlConnectLabel
{
get { return p_oConnectLabel; }
set
{
p_oConnectLabel = value;
NotifyOfPropertyChange(() => SqlConnectLabel);
}
}
当我运行我的应用程序时,ContentControl显示“无法找到[外部UserControl的命名空间]的视图。”
有没有办法在View上显示外部的非MVVM UserControl?
答案 0 :(得分:2)
将其作为普通的UserControl删除将是最安全的选择。一般来说,如果它没有构建MVVM,那么绑定(例如缺少INPC)会很痛苦。
答案 1 :(得分:2)
您可以将其添加到设计图面或XAML作为标准UserControl(因为您不需要CM将其全部绑定)
显然,如果您在运行时解析视图,则需要采用不同的方法,否则拖放!