FrameworkElement.OnStyleChanged(Style, Style) メソッド


この要素で使用されているスタイルが変更された場合に呼び出されます。スタイルが変更されるとレイアウトが無効になります。Invoked when the style in use on this element changes, which will invalidate the layout.

protected public:
 virtual void OnStyleChanged(System::Windows::Style ^ oldStyle, System::Windows::Style ^ newStyle);
protected internal virtual void OnStyleChanged (System.Windows.Style oldStyle, System.Windows.Style newStyle);
abstract member OnStyleChanged : System.Windows.Style * System.Windows.Style -> unit
override this.OnStyleChanged : System.Windows.Style * System.Windows.Style -> unit
Protected Friend Overridable Sub OnStyleChanged (oldStyle As Style, newStyle As Style)



元のスタイル。The old style.


新しいスタイル。The new style.


このメソッドには、スタイル変更条件を示す内部フラグを設定する既定の実装があります。This method has a default implementation that sets an internal flag that notes the style changed condition.

注意 (継承者)

通常、このメソッドをオーバーライドする必要はありません。You should not typically have to override this method. メジャーまたは整列の変更に関係するスタイルを変更した場合は、ArrangeOverride(Size) / MeasureOverride(Size)、または既定の実装が一般的に実装されていることを前提として、既に別のレンダリングサイクルがトリガーされます。Any change to a style that involves a measure or arrange change would already trigger another render cycle, assuming a typical implementation of ArrangeOverride(Size) / MeasureOverride(Size), or the defaults. OnStyleChanged(Style, Style) のオーバーライドは、ArrangeOverride(Size) / MeasureOverride(Size) の実装が意図的に最適化されているか、部分的な更新をサポートしていても、スタイルに変更を直接適用する必要がある場合に適しています。Overrides of OnStyleChanged(Style, Style) might be appropriate if your ArrangeOverride(Size) / MeasureOverride(Size) implementations were deliberately optimizing or supporting partial updates, but still wanted to apply changes to styles more directly. (部分更新では、複数のインクリメンタル呼び出しを Measure(Size) して、任意の子要素で Arrange(Rect) する必要があります)。(The partial updates would be an attempt to avoid multiple incremental calls to Measure(Size) and Arrange(Rect) on any child elements).