【发布时间】:2013-02-11 18:05:10
【问题描述】:
为什么我不能绑定到我的用户控件中的依赖属性? 我只将字符串“Test”视为默认值,但绑定不在测试应用程序中运行。如果我在文本块对象中的测试应用程序中执行相同的绑定,则它可以工作。所以问题一定出在具有依赖属性的 myItem 类中。
代码:
public partial class myItem : UserControl, INotifyPropertyChanged
{
public static DependencyProperty HeaderProperty =
DependencyProperty.Register("Header", typeof(String), typeof(myItem), new UIPropertyMetadata("Test"));
public myItem()
{
InitializeComponent();
DataContext = this;
}
public String Header
{
get
{
return (String)GetValue(HeaderProperty);
}
set
{
SetValue(HeaderProperty, value);
OnPropertyChanged("Header");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
【问题讨论】:
-
你在这里混合了所有内容,尝试使用 propdp 创建依赖属性并向我们展示你想绑定什么
-
输出窗口是否有绑定异常?如果您使用依赖属性,您实际上也不需要提高 INotifyPropertyChanged,但我想您可能有自己的原因。
-
请仔细阅读这篇文章:Custom Dependency Properties.
标签: wpf user-controls dependency-properties