我创建了一个名为EventMenu的小型UserControl。我参考它在一个更大的观点使用:无法声明性地设置自定义UserControl的DataContext
<views:EventMenu
Grid.Row="1"
DataContext="{Binding DataContext.ServicingEventsMenuViewModel}"
/>
(我也试过DataContext="{Binding Path=DataContext.ServicingEventsMenuViewModel}"
)。
但是,没有从绑定的数据上下文的内容显示在控制(从控制的XAML文件确实出现静态内容)。我相信控件不绑定DataContext。
在后面的构造为用户控件的代码,我已经做到了这一点:
public EventMenu()
{
InitializeComponent();
if (DataContext == null)
{
Console.WriteLine("No data context!");
}
}
,它确实表明,在DataContext为空。
什么我需要做的,以确保DataContext设置在我的用户?
是否较大视图的DataContext的有属性'ServicingEventsMenuViewModel'? – 2014-09-21 19:24:08
@LarryLustig如果它包含'ServicingEventsMenuViewModel'属性,那么很可能你不需要绑定路径中的'DataContext'部分。基本上,在你的情况下,它会尝试找到这样'DataContext.DataContext.ServicingEventsMenuViewModel'属性,因为它会尝试采取从当前'DataContext'属性值 – dkozl 2014-09-21 19:47:41
也对与绑定任何故障给定的路径,你可以查看输出窗口看看那里是否有任何错误报告。 – 2014-09-21 19:56:51