WPF ToggleButton和Setter组成WPF的三态控件

ToggleButton和Setter组成WPF的三态控件有时候较为实用。

ToggleButton就像拨动开关一样,把开关拨到一个位置,灯亮了;把开关拨到别一个位置,灯灭了。ToggleButton也是这样,按一下,其IsChecked属性变为True;再按一下,其IsChecked属性变为False。有时,我们需要维持三个状态,这时我们把IsThreeState属性设为True。在IsThreeState属性设为True时,IsChecked的属性值可能取三个值:True,False,Null,ToggleButton中的事件如下:
 
Checked:当IsChecked为True时,产生该事件。
UnChecked:当IsChecked为False时,产生该事件。
Indeterminate:当IsChecked为Null时,产生该事件。
 
一般不直接创建创建ToggleButton实例,而是使用其派生类:CheckBox和RadioButton


三态控件常使用Command属性实现内置的功能处理,而避免编写对应的态事件处理方法。

下面为一个典型的用法:


  1. ToggleButton x:Name="BulletsButton" Command="EditingCommands.ToggleBullets" CommandTarget="{Binding ElementName=TextBox}" ToolTip="Bullets" Template="{StaticResource FlatToggleButtonControlTemplate}" Margin="0,1,0,1" Click="OnListButtonClick">
  2.                 Image Source="Images\listbullets.png" Stretch="None" SnapsToDevicePixels="True" />
  3.             /ToggleButton>


Command="EditingCommands.ToggleItalic"

CodeProject源码参考:

img_e25d4fb2f8de1caf41a735ec53088516.pngSourceCode.zip

参考:

http://www.th7.cn/Program/WPF/201407/250250.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值