Skip to content

Commit

Permalink
Merge pull request #2575 from Deadpikle/develop
Browse files Browse the repository at this point in the history
Close SplitButton popup if it loses mouse capture
  • Loading branch information
punker76 authored Jul 8, 2016
2 parents 1b12418 + 2e80a9e commit b2ddc44
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion MahApps.Metro/Controls/SplitButton.cs
Original file line number Diff line number Diff line change
Expand Up @@ -353,12 +353,25 @@ private void PopupOpened(object sender, EventArgs e)
{
Mouse.Capture(this, CaptureMode.SubTree);
Mouse.AddPreviewMouseDownOutsideCapturedElementHandler(this, this.OutsideCapturedElementHandler);
Mouse.AddLostMouseCaptureHandler(this, this.LostMouseCaptureHandler);
}

private void RemoveMouseCaptureHandlers()
{
Mouse.RemovePreviewMouseDownOutsideCapturedElementHandler(this, this.OutsideCapturedElementHandler);
Mouse.RemoveLostMouseCaptureHandler(this, this.LostMouseCaptureHandler);
}

private void OutsideCapturedElementHandler(object sender, MouseButtonEventArgs mouseButtonEventArgs)
{
this.IsExpanded = false;
Mouse.RemovePreviewMouseDownOutsideCapturedElementHandler(this, this.OutsideCapturedElementHandler);
this.RemoveMouseCaptureHandlers();
}

private void LostMouseCaptureHandler(object sender, MouseEventArgs e)
{
this.IsExpanded = false;
this.RemoveMouseCaptureHandlers();
}
}
}

0 comments on commit b2ddc44

Please # to comment.