0

我正在尝试使用 Caliburn.Micro 创建一个新的 WPF 应用程序。我有一个视图,我想在其中显示来自未遵循 MVVM 的外部程序集的 UserControl。

我尝试在我的视图上创建一个 ContentControl,在 ViewModel 中我有一个返回外部用户控件类型的属性。

<ContentControl Name="SqlConnectLabel" Content="{Binding}" />

public sql.ConnectLabel SqlConnectLabel
{
  get { return p_oConnectLabel; }
  set
  {
    p_oConnectLabel = value;
    NotifyOfPropertyChange(() => SqlConnectLabel);
  }
}

当我运行我的应用程序时,ContentControl 显示“找不到 [外部用户控件的命名空间] 的视图”。

有没有办法在视图上显示一个外部的、非 MVVM 用户控件?

4

2 回答 2

2

将它作为普通的 UserControl 放置将是最安全的选择。一般来说,如果它不是在考虑 MVVM 的情况下构建的,那么绑定到它会很痛苦(例如缺少 INPC)。

于 2013-05-16T08:55:35.610 回答
2

您可以将其作为标准 UserControl 添加到设计图面或 XAML(因为您不需要 CM 将其全部绑定)

显然,如果您在运行时解析视图,则需要一种不同的方法,否则,拖放!

于 2013-05-16T16:43:57.680 回答