1

我想在 ListBox 中的 UserControls 中画线。行数是一个依赖属性,通过 Xaml 样式设置。如果属性发生了变化,我想画线。但是,如果 xaml 更改了属性,则不会调用 Setter。Xaml 调用 SetValue() 本身。但我需要知道,何时更改此属性以调用我的绘制线条的函数。如果我在构造函数中调用此函数,则该属性尚未绑定。谁能帮助我。

4

1 回答 1

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
}
于 2013-10-18T07:01:42.877 回答