Reputation: 1597
I have succeed creating a popup using this code in c# and wpf
<Popup Name="myPopup" IsOpen="True">
<Label Name="myLabel" Content="This is a popup!" Background="AliceBlue" Foreground="Blue"/>
</Popup>
I use the code below to hide it when one mouse-click outside it and it works right.
myPopup.IsOpen = true;
myPopup.Placement = System.Windows.Controls.Primitives.PlacementMode.Mouse;
myPopup.StaysOpen = false;
myPopup.Height = 500;
myPopup.Width = 500;
myPopup.IsOpen = true;
My problem is that I would like to add a close button(or something like [x]). It will hide when this is clicked, just like dialog in windows forms. Any ideas?Thanks in advance
Upvotes: 3
Views: 9171
Reputation: 19020
In one of our apps we had a similar requirement and we solved it by binding IsOpen
to a property of the view model. When you add a button use the Click
event handler to set the property to false which will close the popup.
Upvotes: 3
Reputation: 16023
<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>
In the mouse_DownHandled event handler, you can add the code to close th popup
Upvotes: 2