是否可以将重复的DataTrigger绑定到样式中



是否可以将DataTrigger绑定到以下样式中的样式,但绑定路径是不同的?

<Button Grid.Row="2" Grid.Column="1"   VerticalAlignment="Center" Background="{Binding Dyes[4].DyeBrush}">
        <Button.Style>
            <Style TargetType="Button" BasedOn="{StaticResource Dye}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Dyes[4].IsReferenceDye}" Value="True">
                        <Setter Property="Content" Value="R" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>
    <Button Grid.Row="3" Grid.Column="1"  VerticalAlignment="Center" Background="{Binding  Dyes[5].DyeBrush}">
        <Button.Style>
            <Style TargetType="Button" BasedOn="{StaticResource Dye}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Dyes[5].IsReferenceDye}" Value="True">
                        <Setter Property="Content" Value="R" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>

使您的风格像

<Style x:Key="ButtonStyle" TargetType="Button" BasedOn="{StaticResource Dye}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=IsReferenceDye}" Value="True">
                <Setter Property="Content" Value="R" />
            </DataTrigger>
        </Style.Triggers>
    </Style> 

并将其用作

<Button Grid.Row="3" Grid.Column="1" 
            DataContext="{Binding Dyes[5]}" 
            Style="{StaticResource ButtonStyle}"
            VerticalAlignment="Center" Background="{Binding  Dyes[5].DyeBrush}"/>

希望这会有所帮助。

最新更新