2012-07-20 13 views
21

私のプロジェクトには、テキストボックス用のカスタムスタイルがあります。はデフォルトのスタイルからスタイルを継承します

<Style TargetType="TextBox"/> 

デフォルトでは、すべてのテキストボックスの子コントロールに適用されます。

デフォルトのスタイルに基づいて別のスタイルを作成する必要があります。しかし、BasedOn属性で、私の新しいスタイルがデフォルトのスタイルを使用するように指定するにはどうしたらいいですか?

答えて

43

あなたは

BasedOn="{StaticResource {x:Type TextBox}}" 

全例を拡張したいコントロールの種類を使用します。

<Style x:Key="NamedStyle" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}"> 
    <Setter property="Opacity" value="0.5" /> 
</Style> 
+0

あなたはXを設定する必要はありません:キーをあなたがあなたのケースで追加の変更(不透明度を適用したい場合)自動的に(スタイル名なしで)。 – honzakuzel1989

+1

@ honzakuzel1989本当に本当です。キーを設定するかどうかは、ユースケースによって異なります。 – Aphelion

+0

uwpではどうですか?x:Typeは存在しません。 – bunkerdive

関連する問題