如何在WPF中以编程方式单击CheckBox?

3

我有一个CheckBox,但是在WPF中没有CheckBox.PerformClick()方法,有没有办法通过编程的方式单击一个WPF CheckBox

我发现了一个解决方案,但只适用于Button

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

1
难道不是更容易直接使用 CheckBox.Ischeck = !Checkbox.IsChecked 吗?或者你想实现其他什么功能吗? - Nawed Nabi Zada
1个回答

5
您可以使用PatternInterface.Toggle接口来切换CheckBox:
CheckBoxAutomationPeer peer = new CheckBoxAutomationPeer(someCheckBox);
IToggleProvider toggleProvider = peer.GetPattern(PatternInterface.Toggle) as IToggleProvider;
toggleProvider.Toggle();

或者您可以设置 IsChecked 属性:

someCheckBox.IsChecked = !someCheckBox.IsChecked;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接