有没有一种简单的方法可以让ToggleButton显示为普通按钮?我试图单击该按钮,它将触发IsEnabled为false给另一个控件。使用ToggleButton,我可以在IsChecked属性上执行触发器。然而,当切换时,ToggleButton看起来完全不同。感谢。
答案 0 :(得分:2)
在WPF设计器中,右键单击相关的ToggleButton并选择Edit Template -> Edit a Copy
。选择适当的设置,然后单击“确定”。
ToggleButton的默认模板将添加到您的XAML中。在那里,删除此代码:
<Trigger Property="IsChecked" Value="true">
<Setter Property="RenderPressed" TargetName="Chrome" Value="true"/>
</Trigger>
您可以将此样式/模板重复用于多个ToggleButtons。
修改强>
您还可以选择其他选项。使用标准Button
并连接Click
事件处理程序或执行代码的Command
绑定来更新IsChecked
属性,例如
<CheckBox IsChecked="{Binding IsChecked}" IsEnabled="False" Content="State" />
<Button Content="Toggle" Command="{Binding ToggleStateCommand}" />
然后,当然,你的命令只需要执行
IsChecked = !IsChecked
这一切都假设你有一个ICommand
实现,你很满意,而且你有点做MVVM,但也许这个问题有点超出了这个Q / A.
答案 1 :(得分:1)
最简单的方法是让1
透明,并显示其他控件作为其内容。为内容设置ToggleButton
。
尝试保证金价值。
IsHitTestVisible = False
上面可以自定义使用ToggleButton的内容,如:
<ToggleButton Background="Transparent" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<Button Content="Toggle Button" Margin="-5" IsHitTestVisible="True" />
</ToggleButton>