为什么在XAML中不调用附加属性Set和Get静态方法?

时间:2010-04-02 19:55:25

标签: .net wpf

我在附加的属性SetXXX和GetXXX静态方法上设置了断点。在Xaml中,我已为附加属性分配值。但是,我期待调用Set或Get静态方法,但它们不是。附加属性按预期工作,如果我在代码中调用SetXXX和GetXXX方法,那么它是可行的。

为什么从Xaml设置时不调用方法?

JD。

2 个答案:

答案 0 :(得分:7)

XAML在附加属性时不理解普通属性getter和setter。相反,它直接转到DependencyObject上的较低级API。即GetValueSetValue方法。

答案 1 :(得分:6)

作为JaredPar explained,当您使用XAML时,不会调用GetXXX / SetXXX方法。

我想添加一些东西,但是:

如果您需要在代码中跟踪对附加属性的更改,则应使用元数据。您可以在元数据中设置callback,以便在属性更改时触发,并在代码中跟踪它。