当心,这是一个相当基本的问题(我认为)。
我有一个名为 MyUserControl 的 UserControl。我在我的 ListBox 的 DataTemplate 中使用它:
<l:MyUserControl DataContext="Test" />
现在我想在 MyUserControl 的代码隐藏中访问这个 DataContext,我希望 DataContext 包含一个内容为“Test”的字符串对象。但是,DataContext 为空。我在这里想念什么?
当心,这是一个相当基本的问题(我认为)。
我有一个名为 MyUserControl 的 UserControl。我在我的 ListBox 的 DataTemplate 中使用它:
<l:MyUserControl DataContext="Test" />
现在我想在 MyUserControl 的代码隐藏中访问这个 DataContext,我希望 DataContext 包含一个内容为“Test”的字符串对象。但是,DataContext 为空。我在这里想念什么?
如果您想在后面的代码中访问 DataContext 属性,请为用户控件(或与此相关的任何控件)命名:
在后面的代码中:
myControl.DataContext = 某个对象;
尽管在您的示例中将 DataContext 设置为“Test”将一事无成。
阅读 WPF http://msdn.microsoft.com/en-us/library/aa480224.aspx中的数据绑定
您需要 MyUserControl 的名为 DataContext 的类中的一些字段或属性。
请参阅此处以了解 .net 中的用户控件属性。