From 16b1a655aa146512aaf1f5f5055f954989c89a7f Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Tue, 2 Dec 2025 15:54:45 +0100 Subject: [PATCH] ui(manager): use Menus with HeaderMenuItems instead of ImageDropDownButtons --- .../Ui/MainWindow.axaml | 117 +++++++----------- .../Ui/MainWindow.axaml.cs | 16 +-- 2 files changed, 52 insertions(+), 81 deletions(-) diff --git a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml index cb577f0..8250c0d 100644 --- a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml +++ b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml @@ -3,7 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:local="clr-namespace:ModpackUpdater.Apps.Manager.Ui" xmlns:pilz="https://git.pilzinsel64.de/pilz-framework/pilz" xmlns:symbols="clr-namespace:Pilz.UI.Symbols;assembly=Pilz.UI" xmlns:mainWindow="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models.MainWindow" @@ -15,7 +14,7 @@ Loaded="Window_OnLoaded" Closed="Window_OnClosed" KeyDown="Window_OnKeyDown"> - + - - + + Grid.Row="0"> + + + + - - + + + + + + + + + - - - - - - - - - - - - - + + - - + + + + + - - - - - - - - - + + + + - - - - - - - - - + + + + + + + - - - - + Content="{Binding SelectedTreeNode}"> - + - + - + - + AppGlobals.Symbols.GetImageSource(AppSymbols.add); - public static IImage? ButtonImageRemoveAction => AppGlobals.Symbols.GetImageSource(AppSymbols.remove); - private WorkspaceFeature? curWs; public MainWindowViewModel Model { get; } = new(); @@ -38,15 +34,17 @@ public partial class MainWindow : Window, IMainApi GridMain.DataContext = Model; - ButtonWorkspace.ImageSource = AppGlobals.Symbols.GetImageSource(AppSymbols.workspace); + MenuItemWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.workspace, SymbolSize.Small); MenuItemWorkspacePreferences.Icon = AppGlobals.Symbols.GetImage(AppSymbols.settings, SymbolSize.Small); MenuItemSaveWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.save, SymbolSize.Small); MenuItemNewWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.new_window, SymbolSize.Small); MenuItemRecentWorkspaces.Icon = AppGlobals.Symbols.GetImage(AppSymbols.time_machine, SymbolSize.Small); - ButtonUpdate.ImageSource = AppGlobals.Symbols.GetImageSource(AppSymbols.update_done); - ButtonTools.ImageSource = AppGlobals.Symbols.GetImageSource(AppSymbols.tools); + MenuItemUpdate.Icon = AppGlobals.Symbols.GetImage(AppSymbols.update_done, SymbolSize.Small); + MenuItemTools.Icon = AppGlobals.Symbols.GetImage(AppSymbols.tools, SymbolSize.Small); MenuItemCreateUpdate.Icon = AppGlobals.Symbols.GetImage(AppSymbols.add, SymbolSize.Small); MenuItemRemoveUpdate.Icon = AppGlobals.Symbols.GetImage(AppSymbols.remove, SymbolSize.Small); + MenuItemAddAction.HeaderIcon = AppGlobals.Symbols.GetImage(AppSymbols.add, SymbolSize.Small); + MenuItemRemoveAction.HeaderIcon = AppGlobals.Symbols.GetImage(AppSymbols.remove, SymbolSize.Small); ImageUpdate.Source = AppGlobals.Symbols.GetImageSource(AppSymbols.update_done); ImageMetadata.Source = AppGlobals.Symbols.GetImageSource(AppSymbols.show_property); ImageGeneral.Source = AppGlobals.Symbols.GetImageSource(AppSymbols.normal_screen); @@ -61,9 +59,7 @@ public partial class MainWindow : Window, IMainApi customClickHandler: MenuItemActionItem_Click, insertPrioSplitters: true); - var menuFlyoutTools = new MenuFlyout(); - ButtonTools.Flyout = menuFlyoutTools; - PluginFeatureController.Instance.Functions.Get(FeatureTypes.Tools).InsertItemsTo(menuFlyoutTools.Items, + PluginFeatureController.Instance.Functions.Get(FeatureTypes.Tools).InsertItemsTo(MenuItemTools.Items, customClickHandler: MenuItemToolsItem_Click, insertPrioSplitters: true); }