我在附加的属性SetXXX和GetXXX静态方法上设置了断点。在Xaml中,我已为附加属性分配值。但是,我期待调用Set或Get静态方法,但它们不是。附加属性按预期工作,如果我在代码中调用SetXXX和GetXXX方法,那么它是可行的。
为什么从Xaml设置时不调用方法?
JD。
答案 0 :(得分:7)
XAML在附加属性时不理解普通属性getter和setter。相反,它直接转到DependencyObject
上的较低级API。即GetValue
和SetValue
方法。
答案 1 :(得分:6)
作为JaredPar explained,当您使用XAML时,不会调用GetXXX / SetXXX方法。
我想添加一些东西,但是:
如果您需要在代码中跟踪对附加属性的更改,则应使用元数据。您可以在元数据中设置callback,以便在属性更改时触发,并在代码中跟踪它。