我们要求显示弹出窗口。在控件外部单击它会自动关闭。例如,单击按钮操作触发的任何按钮。需求弹出窗口应该像组合框一样工作。单击超出限制时,它会关闭下拉列表,而其他任何内容都不会触发。我这样做是使用鼠标捕获并适用于按钮单击。但是在单击时会发生选项卡控件选择。如何停止鼠标拦截。
由于 谢卡尔
答案 0 :(得分:0)
要在外部点击弹出窗口时关闭弹出窗口,可以将弹出窗口的StaysOpen
属性设置为false
。
至于停止鼠标点击触发其他控件,也许你可以使用这个技巧:
打开弹出窗口后,暂时将窗口的IsHitTestVisible
属性设置为false
。当它关闭时,将其设置回true
,例如:
<Popup x:Name="popup1" StaysOpen="False" Opened="popup1_Opened" Closed="popup1_Closed">
背后的代码:
private void popup1_Opened(object sender, EventArgs e)
{
window1.IsHitTestVisible = false;
}
private void popup1_Closed(object sender, EventArgs e)
{
window1.IsHitTestVisible = true;
}