WPF связывает две кнопки вместе - PullRequest
0 голосов
/ 30 марта 2011

Я работаю в Windows Presentation Foundation и мне нужно связать две кнопки вместе. Первая кнопка - это классическая кнопка, вторая - кнопка переключения. Когда пользователь нажимает кнопку переключения, он становится «ВКЛ», и в этот самый момент мне нужно отключить классическую кнопку. Когда пользователь снова нажимает кнопку переключения, и она становится «OFF», классическая кнопка должна стать «включена». Есть ли способ сделать это без классической привязки с конвертером. Я имею ввиду триггеры или что-то в этом роде.

1 Ответ

1 голос
/ 30 марта 2011

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

<Button Content="One">
  <Button.Style>
    <Style TargetType="Button">
      <Style.Triggers>
        <DataTrigger Binding="{Binding IsChecked, ElementName=tb}" Value="True">
          <Setter Property="IsEnabled" Value="False" />
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </Button.Style>
</Button>
<ToggleButton x:Name="tb">Two</ToggleButton>

С подходящим конвертером, объявленным в качестве ресурса, это будет выглядеть примерно так:

<Button Content="One" IsEnabled="{Binding IsChecked, ElementName=tb, Converter={StaticResource BooleanInverterConverter}}" />
<ToggleButton x:Name="tb">Two</ToggleButton>
...