当我点击切换按钮时,是否有删除设置IsChecked
ToggleButton
属性的行为?我希望通过绑定到自定义属性来处理IsChecked
属性。
答案 0 :(得分:1)
因此,您希望控件仅通过绑定处理其IsChecked
状态,并禁止用户输入。您可以设置IsEnabled="False" but then it will appear a bit opaque in the
已禁用状态,除非您相应地更改控件模板。
我认为您想要的更多的是省略用户输入但仍处理您的IsChecked
的方法,所以我建议将其设置为;
<ToggleButton IsHitTestVisible="False" IsTabStop="False" IsChecked="{Binding blah}"/>
希望这会有所帮助,欢呼。
答案 1 :(得分:0)
我知道这个问题已经很久了,但我认为我的回答可以帮助别人。
所以我的问题与导航切换按钮有关。我在我的代码中将IsChecked
属性设置为true
并显示了相关视图,但是当用户按下它时,ToggleButton的设计正在改变(而视图保持不变)。所以最终我显示了视图,但ToggleButton未经检查,后面的IsChecked
属性设置为true
。完全是疯了。
为了解决这个问题,我制作了自己非常简单的自定义控件:
class CustomToggleButton : ToggleButton
{
protected override void OnToggle()
{
if (IsChecked == false)
{
base.OnToggle();
}
}
}
现在ToggleButton只取消了我的代码。
答案 2 :(得分:0)
很好的解决方案Chris W.谢谢!如果某人仍然希望通过单击按钮进行检查但又阻止从UI取消选中,则:
<Style TargetType="ToggleButton" x:Key="MyToggle">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<!-- Prevents unchecking -->
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="IsTabStop" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>