WPF 资源xxx具有不兼容的类型
=_=这其实是一个低级错误。。。可是最后还是我同事帮我发现的,很是惭愧,决定写一篇随笔用于记录。。。
引用的地方是这样写的:
请注意他这边是Template="***";
那么你资源文件中正确的写法应该是:
"TextBoxTemplate1" TargetType="{x:Type TextBox}">
"Bd"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
CornerRadius="5">
"PART_ContentHost"/>
"IsEnabled" Value="False">
"Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
"Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
"IsMouseOver" Value="True">
"BorderBrush" TargetName="Bd" Value="#FF4176D3"/>
"BorderThickness" TargetName="Bd" Value="1"/>
"Foreground" Value="#FF4176D3"/>
如果你把这个控件模板包在style里面就是这样写:
就会报错。。。原因很简单你的样式文件是个style,而你引用的地方是个Template,层级关系不一样了。。。所以报错