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

UWP应用点击含FontIcon的菜单项崩溃问题求助

解决Segoe Fluent Icons字体图标导致菜单项点击崩溃问题

以下是几个可行的排查和解决方法:

1. 修正字体族的引用方式

系统中Segoe Fluent Icons的正确引用可能需要更精准的路径,尝试使用系统字体的URI格式替代直接写字体名称:

<FontIcon Glyph="&#xF6FA;" FontFamily="ms-appx:///Windows/Fonts/SegoeFluentIcons.ttf#Segoe Fluent Icons"/>

这种方式会直接指向系统内置的字体文件,避免因字体名称识别异常导致的加载失败。

2. 验证Glyph值的有效性

确认&#xF6FA;对应的图标确实存在于Segoe Fluent Icons字体中:

  • 打开Windows自带的字符映射表,找到Segoe Fluent Icons字体,搜索或定位到U+F6FA字符,确认该字符存在。
  • 如果字符不存在,替换为字体中存在的Glyph值再测试。

3. 将字体嵌入项目(避免系统依赖)

如果系统字体加载存在问题,可将Segoe Fluent Icons字体文件嵌入项目中:

  1. 将SegoeFluentIcons.ttf复制到项目的Assets/Fonts目录下(没有则新建)。
  2. 在属性窗口中将该字体文件的生成操作设置为Content,复制到输出目录设置为如果较新则复制。
  3. 修改字体引用路径:
<FontIcon Glyph="&#xF6FA;" FontFamily="ms-appx:///Assets/Fonts/SegoeFluentIcons.ttf#Segoe Fluent Icons"/>

4. 排查WinUI版本兼容性

确保项目使用的是WinUI 3的稳定版本(最新版优先),旧版本可能存在MenuFlyoutItem与FontIcon的兼容性Bug。可通过NuGet包管理器更新Microsoft.UI.Xaml包。

5. 捕获崩溃异常信息

在Visual Studio中启用调试时的异常捕获(Ctrl+Alt+E勾选Common Language Runtime Exceptions),查看崩溃时抛出的具体异常类型(比如ArgumentException提示字体找不到),根据异常信息进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:10:26