我得到了包含以下内容的用户控件:
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事件发生时,弹出窗口消失。
请帮忙。