样式BasedOn突然不起作用



这些简单的样式突然停止了工作。他们一直工作到今天。

<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>

事实上,在您的情况下,不需要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属性指定的类型的默认样式。

问候

Claude

相关内容

  • 没有找到相关文章

最新更新