WPF:按钮

继承自ButtonBase 类


1、Button

  • Button.IsCancel 被设置成了True,你点击了那个按钮,这个对话框会自动关闭。如果Button.IsDefault 被设置成了true,除非焦点不在这个按钮上,否则按回车就会触发这个按钮的Click 事件。
  • IsDefault 属性是一种可读写属性,可以决定按钮是否应该是默认的。
  • IsDefaulted是只读属性,表示按钮的某一状态,比如按回车键会使它处于点击状态。
  • 以编程方式来点击一个按钮:有一个属于System.Windows.Automation.Peers 命名空间的peer 类来支持
    UI Automat ion:ButtonAutomat ionPeer。实现代码如下:
    [csharp] view plain copy
    1. ButtonAutomationPeer bap = new ButtonAutomationPeer(mybutton);  
    2. IInvokeProvider iip = bap.GetPattern(PatternInterface.Invoke) as IInvokeProvider;  
    3. iip.Invoke();   // 点击该按钮  

2、RepeatButton

  • RepeatButton 的行为基本和Button 一样,除了它会在按钮一直被按着的情况下触发点击事件(它没有Button 的取消和默认这两种行为,因为它直接继承自ButtonBase)。
  • 产生点击事件的频率主要由RepeatButton的Delay 以及Interval 这两个属性的值决定;这两个属性的默认值分别是SystemParameters.KeyboardDelay以及SystemParameters.KeyboardSpeed
  • RepeatButton 属于System.Windows.Controls.- Primit ives 命名空间,你应该会把它和其他成熟的控件一起使用,而不是单独使用它。

3、ToggleButton
  • ToggleButton 是一种在点击时可以保留其状态的“粘性”按钮(它也没有Button 控件的取消行为以及默认行为),第1 次点击它的时候,IsChecked 属性会被设为true;再点击一次,就被设为了false。
  • IsThreeState 属性,如果把它设为true 的话,IsChecked 就会有3 种值:true、false或者null。IsChecked 是Nullable<Boolean>类型的。第1 次点击ToggleButton 会把IsChecked 设为true,第2 次则把它设为null,第3 次把它设为false,依此类推。
  • ToggleButton 分别为每一个IsChecked 的值定义了不同的事件:true 对应Checked 事件,false 对应Unchecked 事件,null 对应Indeterminate 事件。
  • ToggleButton 属于System.Windows.Controls.Primitives 命名空间。

4、CheckBox
  • 拥有由外部提供的内容
  • 可以区分是被鼠标点击还是被键盘点击。
  • 可以在被点击时记录选中(checked)或者未选中(unchecked)状态。
  • 支持3 种状态模式,分别为选中(checked)、不确定(indeterminate)、未选中(unche- cked)。
  • CheckBox除了在继承ToggleButton 时重写了控件默认样式以及视觉外观以外,其他都与ToggleButton 完全一样。

5、RadioButton
  • 支持互斥性。当多个RadioButton被放在一个组里,一次只有一个可以被选中,把一个RadioButton 选中就会自动把组中其他所有的RadioButton 设为不选中。
  • 默认情况下,任何RadioButton 被自动分成一个组,共享同一个逻辑父元素。如果需要用自定义的方法对RadioButton 作分组,那么可以用它的GroupName 属性,这个属性是字符串类型的,任何拥有相同GroupName 的RadioButton 会被分在同个组里(只要它们在逻辑上属于同一个源)。因此可以把属于不同父元素的RadioButton 放在一个组中。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值