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