在WPF中,如何将文本框样式绑定到按钮单击时切换的两种不同样式?

时间:2011-05-31 18:16:14

标签: wpf triggers binding styles

我正在使用MVVM范例,而我正试图让一个文本框在触发按钮时更改样式。

我有一个名为TextBoxStyles的文件,并认为我可能正在创建一个占位符样式,其触发器会根据后端布尔值进行更改。如果我错了,请纠正我,但后端布尔值非常直接:

public void ChangeStyleButtonBoolean()
{
    _changeStyleButtonBoolean = true;
}

但我该如何: 1)将样式绑定到此布尔值,并且 2)然后根据布尔值选择两种不同的样式?

1 个答案:

答案 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>