据我所知......
所以我的问题是: Content
和DataContext
属性之间有什么区别?这里有一个我很遗憾的细微差别。是吗......
DataContext
将数据流入用户界面时,Content
属性的作用是确定(通常是一个绑定)将显示的内容(通过ContentPresenter + ContentTemplate)示例代码
<Window x:Name="myWindow" DataContext="{Binding ClassA}>
<StackPanel> <!-- DataContext is set to ClassA -->
<!-- DataContext is set to ClassA, ClassA.Name will be displayed -->
<Label Content="{Binding Name}" />
</StackPanel>
</Window>
参考
答案 0 :(得分:5)
DataContext
是WPF中的一个更通用的功能,正如它由低级FrameworkElement类的所有权所暗示的那样。
Content
更具体:
ContentControl
继承的控件 - 其他控件如ListBox
本身不拥有Content属性,但是在其控件模板中的某处使用 ContentControl。)ContentTemplate
结合使用 - 也就是说,Content是要显示的,而ContentTemplate是 显示它的方式。 (Button
就是一个很好的例子。)