You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WinUI3的自动化树中移除<Run/>元素的焦点?

解决WinUI3中图标Run元素在自动化树的焦点问题

要让图标对应的<Run>元素不在自动化树中被识别为可获取焦点的元素,你可以通过设置自动化属性来实现:

  • 给图标Run添加AutomationProperties.AccessibilityView="Raw"属性,这样该元素只会存在于自动化树的原始视图中,不会被辅助技术(如屏幕阅读器)当作可交互的控制元素,自然也就不会获得焦点。
  • 搭配IsHitTestVisible="False"可以确保该元素不响应点击等交互,进一步避免焦点相关问题。

修改后的代码如下:

<TextBlock TextWrapping="Wrap"
           HorizontalAlignment="Left"
           VerticalAlignment="Center"
           Foreground="{ThemeResource TextColor}">
  <Run Text="&#xF286;"
       FontFamily="{StaticResource Icons}"
       FontSize="16"
       FontWeight="Normal"
       AutomationProperties.AccessibilityView="Raw"
       IsHitTestVisible="False" />
  <Run x:Uid="SignIn"
       FontWeight="SemiBold"
       FontSize="18" />
</TextBlock>

补充说明

AutomationProperties.AccessibilityView的可选值作用:

  • Control:元素作为可交互控件出现在自动化树(默认行为)
  • Raw:元素仅作为原始内容存在,不被视为可交互控件
  • Hidden:元素完全从自动化树中隐藏

这里用Raw既保留了元素的文本内容(不影响整体文本的朗读逻辑),又不让它成为可获取焦点的控件,是适配需求的最优选择。

内容的提问来源于stack exchange,提问作者AkritiCodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 23:12:09