如何在WPF弹出窗口中关闭[x]

时间:2011-11-25 07:11:37

标签: c# wpf popup

我在c#和wpf

中使用此代码创建了一个弹出窗口
<Popup Name="myPopup" IsOpen="True">
<Label Name="myLabel" Content="This is a popup!" Background="AliceBlue" Foreground="Blue"/>
        </Popup> 

我使用下面的代码在外面单击鼠标时隐藏它,它可以正常工作。

myPopup.IsOpen = true;
myPopup.Placement = System.Windows.Controls.Primitives.PlacementMode.Mouse;
myPopup.StaysOpen = false;
myPopup.Height = 500;
myPopup.Width = 500;
myPopup.IsOpen = true;

我的问题是我想添加一个关闭按钮(或类似[x]的东西)。单击此选项时将隐藏它,就像Windows窗体中的对话框一样。有什么想法吗?先谢谢

2 个答案:

答案 0 :(得分:3)

在我们的一个应用程序中,我们有类似的要求,我们通过将IsOpen绑定到视图模型的属性来解决它。添加按钮时,使用Click事件处理程序将属性设置为false,这将关闭弹出窗口。

答案 1 :(得分:2)

<Popup Name="myPopup" IsOpen="True">
    <StackPanel>
        <Label Background="AliceBlue" Foreground="Blue" HorizontalAlignment="Stretch" HorizontalContentAlignment="Right" MouseDown="mouse_DownHandled">
        x
        </Label>
        <Label Name="myLabel" Content="This is a popup!" Background="AliceBlue" Foreground="Blue"/>
    </StackPanel>
</Popup>

在mouse_DownHandled事件处理程序中,您可以添加代码以关闭弹出窗口