feat: enhance navigation and UI structure in MainView and Application. (#811)

* feat: enhance navigation and UI structure in MainView and Application.

* feat: implement singleton pattern for PaletteDemoViewModel and add initialization check

* feat: set FontWeight to Normal for navigation button in MainView

---------

Co-authored-by: Dong Bin <popmessiah@hotmail.com>
This commit is contained in:
Zhang Dian
2026-04-24 19:58:27 +08:00
committed by GitHub
parent 1f10fd680f
commit d164acea21
5 changed files with 499 additions and 510 deletions

View File

@@ -12,14 +12,16 @@ public partial class PaletteDemo : UserControl
public PaletteDemo()
{
InitializeComponent();
this.DataContext = new PaletteDemoViewModel();
this.DataContext = PaletteDemoViewModel.Instance.Value;
}
protected override async void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
PaletteDemoViewModel? vm = this.DataContext as PaletteDemoViewModel;
await Dispatcher.UIThread.InvokeAsync(() => { vm?.InitializeResources(); });
if (this.DataContext is PaletteDemoViewModel vm && !vm.IsInitialized)
{
await Dispatcher.UIThread.InvokeAsync(() => { vm?.InitializeResources(); });
}
}
public async Task Copy(object? o)
@@ -31,4 +33,4 @@ public partial class PaletteDemo : UserControl
await c.SetTextAsync(o.ToString());
}
}
}
}