I m 采用一种依赖性财产处理框架要素的缺失。
财产能够处理 f/脱硫的消亡,只要 an化元素的可见性财产发生变化,就可登记回落方法。
此前的编码员就是这样做的:
UIElement.VisibilityProperty.AddOwner(typeof (FrameworkElement), new FrameworkPropertyMetadata(Visibility.Visible, VisibilityChanged, CoerceVisibility));
这里的问题是,《框架要素》已经是显露性财产的所有者,因此触发了一种通过表达方式(简直)达到的例外。
为了解决这一问题,我注意到,属地财产有“OverwriteMetadata”方法,允许某人在我的“框架要素”中超出特定类型的元数据。
因此,我可以采用以下办法:
UIElement.VisibilityProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(Visibility.Visible, VisibilityChanged, CoerceVisibility));
我的问题是:
如何安全地超越《框架》的可见性元数据? 如果不安全,我还有其他什么选择?
EDIT: Well, scratch that... 很明显,超额填写元数据会引发另一个例外:“通用元数据已经登记用于“框架要素”。
如果我不能够增加所有人或超出元数据,我怎么能够补充扶养财产的追索方法?
我不得不制造一个来自框架要素的类别,把它作为显露性财产的所有者,并对使用该财产的控制与衍生类别相同?