0


0

WPFおよびAutoRedraw

カスタムWPFラインとそのスタイルがあります。 UserControlリソース:

    1


    false

さて、「MyLineStrokeThickness」を更新すると、コントロールが即座に更新されることに気付きました。 しかし、カスタム依存関係プロパティ「MyLineIsArrowUsed」を更新しても変更はありません。

カスタム依存関係プロパティが更新されたら、カスタムコントロール(線)描画を更新するには何を使用すればよいですか?

私は試した:

static void OnIsArrowUsedChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
{
    var s = (MyLine)source;
    s.UpdateLayout();
}

しかしこれはうまくいきません。

コントロールは、それを移動するか、それ自体を強制的に再描画する必要がある場合に他のアクションを実行するときにのみ更新されます。

1 Answer


2


依存関係プロパティの宣言にFrameworkPropertyMetadata.AffectsMeasureを追加します