ボタンコントロールの中に画像を配置しており、
ボタンのプロパティに応じて画像ファイルを切り替えたいと思っております。
一旦下記のようにして実現することができました。
xaml
1<Button x:Name="button1"> 2 <Image> 3 <Image.Style> 4 <Style TargetType="{x:Type Image}"> 5 <Style.Triggers> 6 <DataTrigger Binding="{Binding IsMouseOver, ElementName=button1}" Value="True"> 7 <Setter Property="Source" Value="C:\1.png" /> 8 </DataTrigger> 9 <DataTrigger Binding="{Binding IsMouseOver, ElementName=button1}" Value="False"> 10 <Setter Property="Source" Value="C:\2.jpg" /> 11 </DataTrigger> 12 </Style.Triggers> 13 </Style> 14 </Image.Style> 15 </Image> 16</Button>
しかし、ボタンの数が多いため、ボタンごとにこのように指定していると行数がかさんで見にくいです。
また、上記例ではIsMouseOverだけですが、実際はIsEnabled等、他のプロパティによって別の画像に切り替える必要があります。
ボタン2には3.jpgと4.jpg、ボタン3には5.jpg、6.jpg…という風にボタンごとに使用する画像も違います。
以下2点、教えていただきたいです。
・同じような記述を省略できるような効率的な記述方法はあるか。
・そもそもDataTriggerで切り替える方法以外にいい方法があるか。

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