【发布时间】:2021-03-10 15:25:50
【问题描述】:
我需要将属性更改的回调方法注册到菜单项的IsHighlighted 属性。
但是在执行时我得到一个异常,说 IsHighlighted 被注册为只读。
有什么想法可以添加回调方法,或者有其他方法可以检查属性变化吗?
public class MyMenuItem : MenuItem
{
static MyMenuItem()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyMenuItem),
new FrameworkPropertyMetadata(typeof(MyMenuItem)));
/* IsHighlighted was registered as readonly and is not possible
override metadata without an authorization key. */
IsHighlightedProperty.OverrideMetadata(typeof(MyMenuItem),
new FrameworkPropertyMetadata(false, new PropertyChangedCallback(OnIsHighlightedChanged)));
}
private static void OnIsHighlightedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
}
【问题讨论】:
标签: c# wpf dependency-properties readonly inotifypropertychanged