2009-09-30 3 views
15

OverridesDefaultStyleがコントロールに対して実際に何を行うか説明することができます。私はMSDNを読んでいますが、私は考えを得ることはありません。WPFのOverridesDefaultStyle

答えて

28

コントロールの既定のスタイルを無視するために使用されます。既定では、UIにコントロールを配置すると、ローカルに(明示的にまたはカスタムスタイルで)設定されていないすべてのプロパティは、既定のスタイルから値を取得します。 OverridesDefaultStyletrueに設定すると、デフォルトのスタイルは使用されません。

+0

これは良い例ですか?私は以前にそれを使用しようとしましたが、私がそれをtrueに設定しても変更は見られません。 – Carlo

+1

'OverridesDefaultStyle'を' true'に設定することによって解決される1つの問題は、 'DependencyProperty'値継承 です([DependencyProperty Value Precedence](https://msdn.microsoft.com/en-us/library/ms743230%28v=vs)を参照してください。 .110%29.aspx))。 一部のスタイルには、継承を解除するプロパティセットがあります。例: 'ItemsControl'内で同じ' Foreground'色を使い、 'Button'を使用する場合。 ButtonスタイルはForegroundプロパティをオーバーライドし、継承は機能しません。 – Anders

+0

コントロールテンプレートを再定義すると、コントロールのOverridesDefaultStyleをtrueに設定する必要はありません。 – misterfrb