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

UWP项目绑定附加依赖属性Debug正常Release报XamlParseException如何解决

问题原因
  • 首要原因是XAML绑定路径的大小写与C#代码定义不匹配
    UWP的Debug模式未启用.NET Native工具链,XAML解析器对大小写有容错兼容;Release模式默认启用.NET Native编译,会严格匹配类型、成员的大小写。你在C#中定义的类名为MyDependencyClass、附加属性名为MyGlyph,但XAML中写为myDependencyClass.myGlyph,成员名称匹配失败触发XAML解析错误。
  • 次要潜在原因是.NET Native编译裁剪
    如果修正大小写后仍有报错,是因为.NET Native会裁剪未被显式调用的代码,你的附加属性所属类为抽象类,静态注册逻辑如果没有被托管代码直接调用,可能被裁剪导致XAML找不到对应属性。
修复方案
  1. 修正XAML绑定路径的大小写,修改后的绑定语句如下:
{Binding ElementName=MyPageUI, Path=(local:MyDependencyClass.MyGlyph)}

对应完整的FontIcon代码:

<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="{Binding ElementName=MyPageUI, Path=(local:MyDependencyClass.MyGlyph)}" />
  1. (可选)避免编译裁剪
    如果修正大小写后仍报错,可选择如下任意一种配置:
  • 给MyDependencyClass类添加[Windows.UI.Xaml.Data.Bindable]特性,告知编译器该类需要参与XAML绑定
  • 在项目的Properties/Default.rd.xml文件中添加如下配置,保留该类的所有成员不被裁剪:
<Type Name="你的命名空间.MyDependencyClass" Dynamic="Required All" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:57:06