无法在WPF中同时关闭两个弹出窗口

时间:2018-09-17 08:55:38

标签: c# wpf

在WPF中,当网格内的按钮发生单击事件时,我将同时显示两个弹出窗口。现在,无论何时我在“第二个弹出窗口”或“除两个弹出窗口之外的区域”中单击弹出窗口之外的任何位置时,其他弹出窗口都会消失。我的要求是,两个弹出窗口都应一起消失,而在其他弹出窗口上单击时则不应消失,并且在两个弹出区域之外的任何位置单击时,它们都应一起隐藏。

我正在尝试的代码:-

popup1.PlacementTarget = clickedButton;
popup1.Placement = PlacementMode.Relative;
popup1.HorizontalOffset = -435.5;
popup1.VerticalOffset = -20;
popup1.IsOpen = true;

popup2.PlacementTarget = clickedButton;
popup2.VerticalOffset = 9;
popup2.IsOpen = true;  

1 个答案:

答案 0 :(得分:0)

与您的代码一起,在函数下方添加

  public List<Popup> ActivePopups = new List<Popup>();

  public void AddActivePopup(ref Popup ActivePopup)
  {
    try
      {
        if (ActivePopup.IsOpen == true)
            ActivePopups.Add(ActivePopup);
      }
    catch (Exception ex)
      {
        throw ex;
      }
   } 

并在popup2.IsOpen = true之后添加此行

  AddActivePopup(popup2);