我在 WPF 应用程序中有一个 ComboBox,其中包含一个列表和“确定”按钮。我希望当用户单击组合框中的确定按钮时关闭组合框弹出区域。(我希望单击事件更改属性:组合框的 IsDropDownOpen 如何使内部内容关闭其容器?
问问题
320 次
2 回答
0
您可以尝试将 a 替换为Button
aToggleButton
并将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 回答