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