Improve:设置启动

This commit is contained in:
2026-05-02 12:36:36 +08:00
parent 005ba66bc2
commit 39e098221c
@@ -78,6 +78,7 @@ namespace Ink_Canvas.Windows.SettingsViews
RegisterDpiChangedListener();
LoadPluginSettingsPages();
UpdateUpdateBadgeVisibility();
_ = PreloadAllPagesAsync();
};
this.Closed += (sender, e) =>
@@ -690,6 +691,42 @@ namespace Ink_Canvas.Windows.SettingsViews
return NavigationViewControl;
}
private async System.Threading.Tasks.Task PreloadAllPagesAsync()
{
try
{
var tags = _pageTypes.Keys.ToList();
foreach (var tag in tags)
{
if (_pages.ContainsKey(tag))
continue;
if (!_pageTypes.TryGetValue(tag, out var type))
continue;
if (type == typeof(PluginSettingsPage))
continue;
await Dispatcher.InvokeAsync(() =>
{
try
{
if (_pages.ContainsKey(tag))
return;
var page = Activator.CreateInstance(type);
_pages[tag] = page;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine($"预加载设置页面 {tag} 失败: {ex.Message}");
}
}, System.Windows.Threading.DispatcherPriority.Background);
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine($"异步预加载设置页面时出错: {ex.Message}");
}
}
public void UpdateUpdateBadgeVisibility()
{
try