由于我没有注册属性,我如何添加属性更改回调?
这有效:
public static readonly DependencyProperty NameProperty =
FrameworkElement.NameProperty.AddOwner(typeof(Node), new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));`
但是有一个我不明白的警告,所以也许还有另一种方法:
WpfApplication1.Node.NameProperty'隐藏继承的成员'System.Windows.FrameworkElement.NameProperty'。如果想要隐藏,请使用new关键字。
答案 0 :(得分:0)
您的类Node似乎派生自FrameworkElement(或FrameworkElement的子类)。 Node和FrameworkElement都定义了
public static readonly DependencyProperty NameProperty;
生成编译器警告。只需写下
public static new readonly DependencyProperty NameProperty ...
在Node类中。
你也可以写
FrameworkElement.NameProperty.OverrideMetadata(
typeof(Node),
new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));
在Node的静态构造函数中。