Xaml 如何防止在ComboBox关闭时单击复选框?

Xaml 如何防止在ComboBox关闭时单击复选框?,xaml,uwp,Xaml,Uwp,我有一个组合框,它有一个复选框控件作为数据模板,当用户试图打开组合框时,他们有时会意外地选择/取消选择组合框,因此我想做的是禁用该行为并打开组合框菜单 我的组合框如下所示: 有没有办法做到这一点?我试图修改组合框的ItemTemplate,但到目前为止没有找到任何解决方案 现在我能做的就是用ComboBoxIsDropDownOpen属性绑定CheckBoxIsEnabled属性,但如果有更好的解决方案,您可以建议它会有所帮助。您应该切换复选框的属性,而不是切换IsEnabled。因此,当设置

我有一个
组合框
,它有一个
复选框
控件作为数据模板,当用户试图打开组合框时,他们有时会意外地选择/取消选择
组合框
,因此我想做的是禁用该行为并打开
组合框
菜单

我的
组合框
如下所示:

有没有办法做到这一点?我试图修改组合框的
ItemTemplate
,但到目前为止没有找到任何解决方案


现在我能做的就是用ComboBox
IsDropDownOpen
属性绑定CheckBox
IsEnabled
属性,但如果有更好的解决方案,您可以建议它会有所帮助。

您应该切换复选框的属性,而不是切换IsEnabled。因此,当设置为false时,它将不会接收任何鼠标单击事件,但它看起来仍然处于启用状态,因为它仍然可以接收键盘事件。因此,如果您使用选项卡导航来点击它,那么它就会工作。

如果组合框未打开,可能有某种方法可以避免复选框IsChecked状态更改。或者,如果combobox未打开,则禁用复选框?@Tony。谢谢我用我现在使用的解决方法更新了我的帖子,请看一看。这就是使用
IsEnabled
的要点,我不想从鼠标、键盘或任何其他可能的输入中获得任何输入。就外观而言,我将更新复选框样式,使其看起来不像是已禁用的,即使它是禁用的。是的,那么这是您唯一的选项,只需切换isenabled并更新已禁用的样式,使其看起来与已启用的样式相同。