private static void ExecuteClick(object sender, RoutedEventArgs args) { if (sender is ButtonBase btn && GetClickOpensContextMenu(btn)) { if (btn.ContextMenu != null) { btn.ContextMenu.PlacementTarget = btn; btn.ContextMenu.Placement = ContextMenuService.GetPlacement(btn); btn.ContextMenu.IsOpen = true; } } }