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 に答える