0

我在 WPF 应用程序中有一个 ComboBox,其中包含一个列表和“确定”按钮。我希望当用户单击组合框中的确定按钮时关闭组合框弹出区域。(我希望单击事件更改属性:组合框的 IsDropDownOpen 如何使内部内容关闭其容器?

4

2 回答 2

0

您可以尝试将 a 替换为ButtonaToggleButton并将ToggleButton.IsChecked属性绑定到ComboBox.IsDropDownOpen使用 and 'inverse bool Converter'(返回与输入值Converter相反的类)的属性。bool

唯一的问题是ToggleButton每次ComboBox下拉菜单打开时您都需要“取消切换” 。

于 2013-09-11T16:14:44.357 回答
0

您可以使用逻辑/视觉树来获取包含ComboBox

        DependencyObject prop = sender as DependencyObject;
        while (prop != null && !(prop is ComboBox))
        {
            prop = LogicalTreeHelper.GetParent(prop);
        }
        if (prop != null)
        {
            ((ComboBox) prop).IsDropDownOpen = false;
        }

当然,这只是一个快速而肮脏的解决方案,应该清理干净。;)

于 2013-09-11T13:43:43.873 回答