在 WPF 用户控件声明中,我定义了以下样式:
<UserControl.Resources>
<Style x:Key="Datagrid" TargetType="{x:Type DataGrid}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="HeadersVisibility " Value="Column"/>
<Setter Property="VerticalGridLinesBrush " Value="{StaticResource DatagridVerticalLinesBrush}"/>
<Setter Property="HorizontalGridLinesBrush " Value="Transparent"/>
<Setter Property="RowHeaderWidth " Value="0"/>
<Setter Property="CanUserAddRows " Value="False"/>
<Setter Property="CanUserDeleteRows " Value="False"/>
</Style>
</UserControl.Resources>
问题是 Visual Studio 2012 设计器认为属性在类型 DataGrid 上不存在。它说:成员“XXXXXXXXXXXX”无法识别或无法访问。
尽管存在错误,但该样式在运行时已正确应用,并且属性存在于 DataGrid 上(它们是 DependencyProperies)并且是公共的。
知道是什么导致它认为它们不存在或为什么设计师无法访问它们吗?
顺便说一句,Background 属性没问题。只有其他 7 个有错误。