如果xaml调用依赖项属性的SetValue(),则通知

时间:2013-10-18 06:56:34

标签: wpf mvvm binding dependency-properties setter

我想在ListBox中的UserControls中绘制线条。行数是依赖属性,通过Xaml Style设置。如果属性已更改,我想绘制线条。但是,如果属性被xaml更改,则不会调用Setter。 Xaml调用SetValue()本身。但我需要知道,当更改此属性以调用我的函数来绘制线条时。如果我在构造函数中调用此函数,则该属性尚未绑定。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

您可以在PropertyChanged声明中添加DependencyProperty回调,例如

public static readonly DependencyProperty LineCountProperty = DependencyProperty.Register(
    "LineCount",
    typeof(int),
    typeof(Window),
    new FrameworkPropertyMetadata(
        0,
        new PropertyChangedCallback(OnLineCountChanged)
    )
);


private static void OnLineCountChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
   //Here you call you function on `d` by typecasting it into your class
}