WinUI 3 RadioButton System.Runtime.InteropServices.COMException

问题描述 投票:0回答:1
c# xaml winui-3 comexception
1个回答
0
投票

回复 GitHub 上跟踪的此问题:

此问题已得到解决,并计划在下一个预览版 1.6 中发布。 问题源于托管垃圾收集与内部单选按钮表的交互。当单选按钮被命名时,它会被输入到一个内部表中,在确定选中新按钮时取消选中哪个按钮时会搜索该表。该条目将保留在此表中,直到单选按钮被破坏,但通过垃圾收集,它可以在从树中删除后保留一段时间。因此,当您显示/隐藏内容对话框时,您可以在此内部表中获取该对话框的多组单选按钮。这是正确处理的,除非垃圾收集的时机恰到好处。当垃圾回收发生时,它会在 UI 线程之外进行,因此它只会部分破坏 UI 元素,然后安排其余部分在 UI 线程上完成。如果在垃圾收集已部分销毁该项目之间出现复选框选中的更改,但 UI 线程尚未完成该销毁,则单选按钮代码不会意识到,即使它仍然存在,但它处于错误状态最终导致这次崩溃。我们已经修改了流程,不再依赖垃圾收集中部分破坏的任何数据。

GitHub 问题 - ContentDialog 中带有 GroupName 的 RadioButton #8534

© www.soinside.com 2019 - 2024. All rights reserved.