|
|
@@ -2,6 +2,7 @@ using Avalonia;
|
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
|
using Avalonia.Markup.Xaml;
|
|
|
using Avalonia.Markup.Xaml.Styling;
|
|
|
+using Avalonia.Threading;
|
|
|
using YZWater.Avalonia.Views;
|
|
|
using YZWater.Core.Services;
|
|
|
|
|
|
@@ -49,13 +50,16 @@ public partial class App : Application
|
|
|
|
|
|
resources[0] = ThemeService.Instance.IsDarkTheme ? _darkTheme : _lightTheme;
|
|
|
|
|
|
- // 强制所有窗口重绘
|
|
|
- if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
+ // 延迟重绘,确保资源字典更新完成
|
|
|
+ Dispatcher.UIThread.Post(() =>
|
|
|
{
|
|
|
- foreach (var window in desktop.Windows)
|
|
|
+ if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
{
|
|
|
- window.InvalidateVisual();
|
|
|
+ foreach (var window in desktop.Windows)
|
|
|
+ {
|
|
|
+ window.InvalidateVisual();
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ }, DispatcherPriority.Render);
|
|
|
}
|
|
|
}
|