如果使用两个不同的图像启用选项,我想创建一个启用某些选项和显示的按钮。单击按钮时,第一次转到true并应显示image_true。当它再次被点击时,它应该返回false并显示image_false
我的第一个问题是:Button
具有锁定操作,因此在单击后它会返回false。有没有办法改变这种行为?
如果不是,我可能会使用不同类型的元素,例如checkbox
。
在这两种情况下:如何为这两种状态分配不同的图像?
我知道如何按照here的说明分配一个图像,但我真的不知道如何继续将它们分配到不同的状态。
答案 0 :(得分:4)
你可以通过使用ToggleButton实现这一点,它包含IsChecked属性的三个状态(null,true,false),除此之外你需要编写控制模板并放置两个触发器(或者所有以前的状态为三个),如下所示: / p>
<ToggleButton Width="75" Height="75" >
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<Border Name="PART_Border">
<Image Name="PART_Image" ></Image>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="PART_Image" Property="Source">
<Setter.Value>
<BitmapImage UriSource="/images/first.PNG" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="PART_Image" Property="Source">
<Setter.Value>
<BitmapImage UriSource="/images/second.PNG" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>