如何根据滑块值WPF更新按钮背景色

如何根据滑块值WPF更新按钮背景色,wpf,Wpf,我正在尝试根据滑块值更新按钮的颜色。如果该值为0,则按钮颜色为灰色,1为黄色,2为红色。使用少量状态(0,1,2),可以通过触发器在不查看模型的情况下完成此操作。按钮样式中的触发器跟踪滑块值并根据该值更改背景 public class LiveComm { public int CardState { get; set; } public string CardColour { get; set; } } 请注意,我为Slider设置了IsSnapToTickEnabl

我正在尝试根据滑块值更新按钮的颜色。如果该值为0,则按钮颜色为灰色,1为黄色,2为红色。

使用少量状态(0,1,2),可以通过触发器在不查看模型的情况下完成此操作。按钮样式中的触发器跟踪滑块值并根据该值更改背景

public class LiveComm
{  
    public int CardState { get; set; }
    public string CardColour { get; set; }
}

请注意,我为Slider设置了
IsSnapToTickEnabled=“True”
,它可以得到非整数值,否则

我已经为我的对象绑定了value=“{Binding CardState}”,这会影响我放回去的任何东西,它可以工作,但因为你已经删除了它,我只是好奇。@Decoder94,
value=“{Binding CardState}”
将更新DataContext的CardState属性,当其他逻辑依赖于CardState时,这是一件好事。若触发器直接绑定到滑块值,则不会影响按钮。
public class LiveComm
{  
    public int CardState { get; set; }
    public string CardColour { get; set; }
}
<Button Panel.ZIndex="-5">
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="Background" Value="Gray"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Value, ElementName=HomeCardSlider}" 
                             Value="1">
                    <Setter Property="Background" Value="Yellow"/>
                </DataTrigger>

                <DataTrigger Binding="{Binding Path=Value, ElementName=HomeCardSlider}" 
                             Value="2">
                    <Setter Property="Background" Value="Red"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
<Slider x:Name="HomeCardSlider" 
        IsSnapToTickEnabled="True"
        Height="30" Width="25" 
        Maximum="2" SmallChange="1" 
        Orientation="Vertical"
        HorizontalAlignment="Right" VerticalAlignment="Center" BorderBrush="#FFF94F0F">
</Slider>