这些简单的风格刚刚停止运作。他们一直工作到今天。
<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Padding" Value="5,1" />
</Style>
<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Padding" Value="2,0" />
</Style>
这两个都显示BasedOn
属性的错误。
The resource "{x:Type TextBlock}" could not be resolved.
The resource "{x:Type TextBox}" could not be resolved.
如果我复制并选择其中一个样式,那么粘贴样式就没有错误。
<Style x:Key="noErrorOnThisStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Padding" Value="5,1" />
</Style>
<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Padding" Value="5,1" />
</Style>
<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Padding" Value="2,0" />
</Style>
答案 0 :(得分:1)
实际上在您的情况下,不需要BasedOn属性。只需写下
<Style x:Key="textColumnElementStyle" TargetType="{x:Type TextBlock}">
<Setter Property="Padding" Value="5,1" />
</Style>
<Style x:Key="textColumnEditingElementStyle" TargetType="{x:Type TextBox}">
<Setter Property="Padding" Value="2,0" />
</Style>
当未设置BasedOn时,BasedOn指向TargetType属性指定的类型的默认样式。
此致
克劳德