弹出窗口仍显示未最小化

时间:2017-04-17 17:48:24

标签: c# wpf xaml

我有自定义搜索控件的简单弹出行为:

弹出行为正常:

打开:

enter image description here

闭:

enter image description here

弹出窗口使用bool HasText打开并关闭:

                        <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="HasText" Value="True"/>
                        </MultiTrigger.Conditions>
                        <Setter Property="Source" TargetName="SearchButtonImage" Value="cancel.png"/>
                        <Setter Property="IsOpen" TargetName="childPop" Value="True"/>
                    </MultiTrigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="HasText" Value="False"/>
                        </MultiTrigger.Conditions>
                        <Setter Property="Source" TargetName="SearchButtonImage" Value="search.png"/>
                        <Setter Property="IsOpen" TargetName="childPop" Value="False"/>
                    </MultiTrigger>

但是,当应用程序未最小化时,弹出窗口会显示在其他应用程序上: enter image description here

当应用程序最小化时,弹出窗口将被隐藏。

我是否必须添加检查窗口是否为“活动”的处理?还是其他任何实现?

1 个答案:

答案 0 :(得分:1)

确保您拥有:

<Popup StaysOpen="False" />
  

当StaysOpen为false时,弹出控件会拦截所有鼠标和   用于确定其中一个事件发生在外部的键盘事件   弹出控件。