WPF关于 附加属性绑定异常 ,导致页面加载缓慢


最近项目在启动的时候,经常出现Xmal的类型转换的异常  :引发的异常:“MS.Internal.Xaml.Parser.GenericTypeNameParser.TypeNameParserException”(位于 System.Xaml.dll 中)

经过一番排查:发现在绑定附加属性的时候抛出的异常:

出现异常的写法:

 <Setter TargetName="image" Property="Source" Value="{Binding (attach:ControlHelper.ImagePressed),RelativeSource={RelativeSource TemplatedParent}}">Setter>

修改后不抛异常的写法:

  <Setter TargetName="image" Property="Source" Value="{Binding Path=(attach:ControlHelper.ImagePressed),RelativeSource={RelativeSource TemplatedParent}}">Setter>

总结:在绑定附加属性的时候,需要在绑定的属性前,显式指定 Path=