我在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窗体中的对话框一样。有什么想法吗?先谢谢
答案 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事件处理程序中,您可以添加代码以关闭弹出窗口