I want to make a WPF Window that behaves like a context menu.
So, for instance - when I show the wpf window, I want it to be the topmost window and from there on out, if the user clicks anything outside of that window I want the window to be hidden again.
So far I have tried quite a few techniques but the only one that I found that kinda works is shown here. It works the very first time but never again after that:
public TheWindow()
{
InitializeComponent();
this.Topmost = true;
}
void ShowMe()
{
this.Show();
this.CaptureMouse();
}
void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
/// TODO: Check if they clicked outside the window here!
this.ReleaseMouseCapture();
this.Hide();
}
I also tried just handling the Deactivated event, but it also only works the first time for some reason.