WPF利用代码触发按钮点击操作

在WPF开发中,若需模拟按钮点击,通常直接调用Click事件无法实现。当使用OneWay绑定模式时,代码设置ToggleButton的IsChecked属性无效。解决方法是通过定义Command绑定,使按钮点击和程序化执行同一响应函数,从而达到模拟点击的效果。
摘要由CSDN通过智能技术生成

在WPF开发过程中,某些场景下,需要模拟点击按钮进行某些操作,也就是用代码调用某些接口,实现对于按钮的点击。但是Button控件提供的接口中并没有这样的方法,它只提供了Click事件。解决办法如下:

ButtonAutomationPeer peer =
  new ButtonAutomationPeer( someButton );

IInvokeProvider invokeProv =
  peer.GetPattern( PatternInterface.Invoke )
  as IInvokeProvider;

invokeProv.Invoke();

对于ToggleButton而言,解决办法如下:

                ToggleButtonAutomationPeer peer = new ToggleButtonAutomationPeer(someButton);
                System.Windows.Automation.Provider.IToggleProvider toggleProvider = peer.GetPattern(PatternInterface.Toggle) as System.Windows.Automation.Provider.IToggleProvider;
                toggleProvider.Toggle();

但是对于ToggleButton,在我的程序中,调用上述代码,发现程序没有反应。经过调查主要原因如下,我的ToggleButton控件的IsChecked属性绑定了后台的数据,并设定了绑定模式为OneWay。

<
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值