WPF .NET Core 3.1应用Win11中使用WindowsXamlHost重启崩溃问题
解决Windows 11下WPF应用使用Microsoft.Toolkit.Wpf.UI.XamlHost重复打开崩溃问题
手动释放WindowsXamlHost资源
Win11对UWP控件的生命周期管理比Win10更严格,关闭窗口时得主动释放控件资源。在窗口的Closed事件里调用Dispose()并清空引用:private void Window_Closed(object sender, EventArgs e) { if (windowsXamlHost != null) { windowsXamlHost.Dispose(); windowsXamlHost = null; } }升级Toolkit包版本
旧版Microsoft.Toolkit.Wpf.UI.XamlHost可能存在Win11兼容性bug,去NuGet把包更到最新稳定版(比如6.1.1及以上版本),很多兼容性问题都会随版本更新修复。复用窗口实例,避免重复创建
别每次打开都新建窗口和控件,改成隐藏窗口而非关闭。在窗口Closing事件里取消关闭操作,改为隐藏,下次打开直接显示:private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { e.Cancel = true; this.Hide(); }更新Windows 11系统
确保设备安装了最新的Win11累积更新,UWP运行时组件的底层bug可能会通过系统更新修复。
内容的提问来源于stack exchange,提问作者Enrique Oujo
相关产品推荐
相关产品推荐

