В WPF как связать стиль текстового поля с двумя различными стилями, которые переключаются при нажатии кнопки? - PullRequest
0 голосов
/ 31 мая 2011

Я работаю в парадигме MVVM и пытаюсь получить текстовое поле для изменения стилей при нажатии кнопки.

У меня есть файл с именем TextBoxStyles, и я думаю, что, возможно, я создаю стиль заполнителя, у которого есть триггер, который изменяется в зависимости от логического значения серверной части. Поправьте меня, если я ошибаюсь, но булевское булево действительно простое:

public void ChangeStyleButtonBoolean()
{
    _changeStyleButtonBoolean = true;
}

Но как мне: 1) привязать стиль к этому логическому, и 2) затем выберите два разных стиля на основе этого логического значения?

1 Ответ

1 голос
/ 01 июня 2011

Не могли бы вы использовать кнопку переключения и иметь триггер?В настоящее время мы делаем нечто подобное, меняя изображение внутри шаблона для кнопки переключения.Как то так:

<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>
...