小编Tol*_*Ch.的帖子

在 WPF 中使用 Popup.StaysOpen 在鼠标单击时隐藏弹出窗口

我得到了包含以下内容的用户控件:

  • 按钮
  • 弹出窗口(包含文本块)

XAML

<UserControl>
<button Name="btnShowPopup" Content="Button" Click="Button_Click"/>
<Popup Name="popup" StaysOpen="true">
<TextBlock Text="Popup"/>
</Popup>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

代码隐藏

private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
   this.popup.IsOpen=!this.popup.IsOpen;
}
Run Code Online (Sandbox Code Playgroud)

问题:当鼠标单击 btnShowPopup 按钮外的任何地方时,我想隐藏弹出窗口。

注意:我尝试过更改StaysOpen="false"和当btnShowPopup.MouseDown事件: this.popup.IsOpen=!this.popup.IsOpen; 但是这个解决方案会导致另一个问题:当btnShowPopup.MouseUp事件发生时,弹出窗口消失。

请帮忙。

wpf popup

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

popup ×1

wpf ×1