在 XAML 中更改应用程序范围的样式
Change application wide style in XAML
我的整个应用程序都有一个按钮样式,如下所示:
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
some style code here
</Style>
它确实影响了像这样使用的每个按钮:
<Button />
但是当我想像这样改变一个特定的按钮时:
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeBoolean}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
它是 windows 标准样式。
您缺少 BasedOn
属性:
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeBoolean}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
我的整个应用程序都有一个按钮样式,如下所示:
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
some style code here
</Style>
它确实影响了像这样使用的每个按钮:
<Button />
但是当我想像这样改变一个特定的按钮时:
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeBoolean}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
它是 windows 标准样式。
您缺少 BasedOn
属性:
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeBoolean}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>