如何在wpf中对一个控件应用两种以上的样式?

如何在wpf中对一个控件应用两种以上的样式?,wpf,xaml,Wpf,Xaml,现在我想将上面的三种样式应用到一个控件中。我可以将两种样式应用到一个控件中,如下所示 <Grid x:Name="LayoutRoot"> <Button Content="MultyStyles" Margin="160,136,248,222"/> 但我不知道对一个控件应用两种以上的样式。我应该怎么做呢?您只能使用已经使用过的BasedOn逻辑来执行此操作。作为一个选项,如果在项目中有意义,您可以使用触发器来更改样式。在这种情况下,是什么阻止您将3


现在我想将上面的三种样式应用到一个控件中。我可以将两种样式应用到一个控件中,如下所示

<Grid x:Name="LayoutRoot">
    <Button Content="MultyStyles" Margin="160,136,248,222"/>



但我不知道对一个控件应用两种以上的样式。我应该怎么做呢?

您只能使用已经使用过的BasedOn逻辑来执行此操作。作为一个选项,如果在项目中有意义,您可以使用触发器来更改样式。

在这种情况下,是什么阻止您将3基于2?
<Grid x:Name="LayoutRoot">
    <Button Content="MultyStyles" Margin="160,136,248,222"/>
<Window.Resources>
<Style x:Key="Style_1" TargetType="{x:Type Button}">
    <Setter Property="Background" Value="Green"/>
</Style>
<Style x:Key="Style_2" TargetType="{x:Type Button}" BasedOn="{StaticResource Style_1}">
    <Setter Property="Foreground" Value="White"/>
</Style>
<Style x:Key="Style_3" TargetType="{x:Type Button}">
    <Setter Property="BorderBrush" Value="Red"/>
</Style>
<Grid x:Name="LayoutRoot">
    <Button Content="MultyStyles" Margin="160,136,248,222" Style="{StaticResource Style_2}"/>
</Grid>