using RustTools.Helpers; using RustTools.muqing; using Windows.UI.ViewManagement; namespace RustTools; public sealed partial class MainWindow : WindowEx { private readonly Microsoft.UI.Dispatching.DispatcherQueue dispatcherQueue; public static MainWindow Main; private readonly UISettings settings; public MainWindow() { Main = this; gj.SetBackTheme(this); InitializeComponent(); //AppWindow.SetIcon("Assets/tool.png"); AppWindow.SetIcon(Path.Combine(AppContext.BaseDirectory, "Assets/WindowIcon.ico")); Content = null; Title = "AppDisplayName".GetLocalized(); // Theme change code picked from https://github.com/microsoft/WinUI-Gallery/pull/1239 dispatcherQueue = Microsoft.UI.Dispatching.DispatcherQueue.GetForCurrentThread(); settings = new UISettings(); settings.ColorValuesChanged += Settings_ColorValuesChanged; // cannot use FrameworkElement.ActualThemeChanged event //settings.Color //if(wj.cz(wj.FILE.UUID)) //{ // gj.sc(wj.dqwb(wj.FILE.UUID)); //} //else //{ // wj.xrwb("win.uuid", gj.GetUUID()); //} } // this handles updating the caption button colors correctly when indows system theme is changed // while the app is open private void Settings_ColorValuesChanged(UISettings sender, object args) { // This calls comes off-thread, hence we will need to dispatch it to current app's thread dispatcherQueue.TryEnqueue(() => { TitleBarHelper.ApplySystemThemeToCaptionButtons(); }); } }