我正在尝试使用C#以编程方式触发ToggleButton。
我有一个ToggleButton开关,它在静音和未静音之间成像。如果将按钮切换为静音,我将获得预期的图像,但是如果更改VolumeBar,则必须从C#触发按钮,因为如果不能自动执行该按钮。
<ToggleButton x:Name="MuteBtn" Height="20" Width="20" Background="Transparent" Click="MuteButton_Click">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content">
<Setter.Value>
<Image Source="/Resources/audio-volume_on.ico" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content">
<Setter.Value>
<Image Source="/Resources/volume_off.ico" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
我有一个名为VolumeBar_ValueChanged的类,该类必须根据VolumeBar值来切换按钮。
答案 0 :(得分:0)
正如@Anu Viswan所说,isChecked属性可以解决您的问题。
答案 1 :(得分:0)
尝试将ControlTemplate用于ToggleButton。
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Image x:Name="borderImage" Source="Image1.jpg"/>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter Property="Source" Value="Image2.jpg" TargetName="borderImage"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ToggleButton.Style>
</ToggleButton>