我正在使用MVVM范例,而我正试图让一个文本框在触发按钮时更改样式。
我有一个名为TextBoxStyles的文件,并认为我可能正在创建一个占位符样式,其触发器会根据后端布尔值进行更改。如果我错了,请纠正我,但后端布尔值非常直接:
public void ChangeStyleButtonBoolean()
{
_changeStyleButtonBoolean = true;
}
但我该如何: 1)将样式绑定到此布尔值,并且 2)然后根据布尔值选择两种不同的样式?
答案 0 :(得分:1)
您可以使用切换按钮并触发吗?我们目前正在做类似的事情,通过更改模板内部的图像来切换按钮。像这样:
<ControlTemplate x:Key="LightBulbToggleButtonTemplate" TargetType="{x:Type ToggleButton}">
<Image Name="LightBulbButton" Source="{StaticResource LightBulbOn}" Width="24" Height="24" Cursor="Hand" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Source" Value="{StaticResource LightBulbOn}" TargetName="LightBulbButton"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Source" Value="{StaticResource LightBulbOff}" TargetName="LightBulbButton"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>