前提
有効時、無効時でTextboxの見た目をすきなように変えたいと思っています。
Textboxにはxaml上であらかじめText=”100”としており、ビルド時は無効の状態に設定しています。
また、Textboxは以下のようなテンプレートを設定しています。
xaml
1 <ControlTemplate x:Key="text" TargetType="TextBox"> 2 <Border Name="border" 3 BorderThickness="1" 4 BorderBrush="{TemplateBinding BorderBrush}" 5 Background="{TemplateBinding Background}"> 6 7 <ContentPresenter VerticalAlignment="Center" 8 HorizontalAlignment="Center" /> 9 </Border> 10 <ControlTemplate.Triggers> 11 <Trigger Property="IsEnabled" Value="true"> 12 <Setter TargetName="border" 13 Property="Background" 14 Value="white" /> 15 <Setter TargetName="border" 16 Property="BorderBrush" 17 Value="#707070" /> 18 <Setter Property="Foreground" 19 Value="black" /> 20 </Trigger> 21 <Trigger Property="IsEnabled" Value="false"> 22 <Setter TargetName="border" 23 Property="Background" 24 Value="#EDEDED" /> 25 <Setter TargetName="border" 26 Property="BorderBrush" 27 Value="#707070" /> 28 <Setter Property="Foreground" 29 Value="#EDEDED" /> 30 </Trigger> 31 </ControlTemplate.Triggers> 32 </ControlTemplate>
色の指定方法がバラバラで読みにくくてすいません。
やりたいことは有効時は背景白、文字色黒に。
無効時は背景グレー、文字色グレー(背景と同じ色)にして、Text="100"が見えなくなるようにしたいです。
このまま実行すると無効時はやりたいことができているのですが、
有効化した際にText="100"が出てきません。さらに有効化したはずのTextboxに何も打ち込めなくなります。
Templateを外してみるとText=”100”が表示され、有効化した際は入力もちゃんとできます。
Templateについて最近学び始めたので、何か足りない項目や、
そもそもTextBoxの有効化の認識がおかしいなど教えていただきたいです。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/13 04:17