public void ExecuteCommand(object sender, MouseEventArgs e) { var control = sender as FrameworkElement; if (control?.DataContext is DiiagramrCommand command) { Visible = false; _commandManager.ExecuteCommand(command); } }
public void ExecuteCommandHandler(object sender, MouseEventArgs e) { var control = sender as Control; if (control?.DataContext is DiiagramrCommand command) { var shellRelativePosition = control.TransformToAncestor(View); var correctedRelativePosition = shellRelativePosition.Transform(new Point(0, 2)); if (View is Window window) { if (window.WindowState == WindowState.Maximized) { correctedRelativePosition = new Point(correctedRelativePosition.X + ShellViewModel.MaximizedWindowChromeRelativePositionAdjustment, correctedRelativePosition.Y + ShellViewModel.MaximizedWindowChromeRelativePositionAdjustment); } } _commandManager.ExecuteCommand(command, correctedRelativePosition); } }