嵌ってしまったので、反省を込めて

結構前に、依存関係プロパティに適用される優先順位(基本値)で書いていたのに、すっかり忘れてて、後輩ともどもはまってしまったので、もう一度書いておこう。

○初期の背景色を設定し、Triggerによって背景色を返る(今回のトリガーはIsFocusedプロパティ)。

(誤)これは動作しない。
<TextBox Text="" Background="Khaki">
<TextBox.Resources>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="LightPink"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Resources>
</TextBox>
TextBoxタグに直接設定した値はローカル値となり、最優先で採用される。その際、Styleで設定したTriggerまで見に行かず、結果的に動いてないように見える。
(正)これが動作する。
<TextBox Text="">
<TextBox.Resources>
<Style TargetType="TextBox">
<Setter Property="Background" Value="Khaki"/>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="LightPink"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Resources>
</TextBox>
今度はすぐ気づきますように…。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m