【问题标题】:Is it possible to Bind the DataContext of a UserControl to a property是否可以将 UserControl 的 DataContext 绑定到属性
【发布时间】:2011-02-14 16:28:49
【问题描述】:

我有一个用户控件,我想在两种不同的上下文中使用它。用户控件需要将其 DataContext 设置为由父视图/视图模型创建的适当 ViewModel 的实例。

我希望得到类似的东西:

<local:Child DataContext="{Binding ChildViewModel}"/>

其中 ChildViewModel 是页面绑定到的 ViewModel 的 inpc 样式属性。

这似乎不起作用。是否可以使用 Binding 来分配 DataContext?

【问题讨论】:

  • 您能提供来自输出窗口的条目吗?基本上,所有的 wpf 绑定异常都显示在那里,所以如果你有,我们会检查它

标签: silverlight mvvm mvvm-light


【解决方案1】:

像这样将 ContentControl 的内容绑定到您的子 ViewModel 可能会更简单:

<ContentControl Content="{Binding ChildViewModel}" />

..然后有一个 DataTemplate 来应用你的本地:子视图,像这样

<DataTemplate DataType="{x:Type local:ChildViewModel}">
    <local:Child />
</DataTemplate>

【讨论】:

  • 有趣的建议,但是被标记为 silverlight 问题,此解决方案将不起作用。
  • 删除 DataTemplate 上的 DataType 属性,这应该可以在 Silverlight 中使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2016-07-11
  • 1970-01-01
相关资源
最近更新 更多