Как контролировать видимость ComboBox на основе переключателя проверяется - PullRequest
1 голос
/ 30 марта 2020

У меня быстрый вопрос WPF по поводу видимости моего ComboBox относительно того, проверена кнопка или нет. Цель состоит в том, чтобы, когда пользователь проверяет переключатель «btnCurrent», ComboBox: cboHistorySequence будет скрыт, а когда кнопка «btnHistory» будет отмечена, она появится.

ПРОСМОТР: Здесь у нас есть переключатель «btnCurrent» и «btnHistory», а также поле со списком cboHistorySequence.

 <RadioButton x:Name="btnCurrent" IsChecked="{Binding IsCurrentSelected, UpdateSourceTrigger=PropertyChanged}" Content="Current" Grid.Column="0" Grid.Row="0"/>

 <RadioButton x:Name="btnHistory" IsChecked="{Binding IsHistorySelected, UpdateSourceTrigger=PropertyChanged}" Content="History" Grid.Row="0" Grid.Column="1"/>

 <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,0" IsEnabled="{Binding IsHistorySelected, Converter={StaticResource EnabledConverter} }">
     <TextBlock  HorizontalAlignment="Left" Width="80">History Seq:</TextBlock>
     <ComboBox x:Name="cboHistorySequence" Margin="16,0,0,0" Text="{Binding Path=HistorySequence, UpdateSourceTrigger=PropertyChanged}" Width="80" HorizontalAlignment="Left">
         <ComboBoxItem>First</ComboBoxItem>
         <ComboBoxItem>Last</ComboBoxItem>
     </ComboBox>
 </StackPanel>

Что я пробовал

Моя первоначальная мысль состояла в том, чтобы использовать что-то в соответствии с этим и связать это с моделью представления, но я не добился успеха. Каковы рекомендации Yall?

Visibility="{Binding IsShowComboBox, Converter={StaticResource VisibilityConverter}

1 Ответ

2 голосов
/ 30 марта 2020

Поскольку вы хотите привязать свойство другого элемента в вашем приложении, вы должны использовать Binding.ElementName Свойство и Path, что-то вроде этого:

<ComboBoxItem>Last</ComboBoxItem>
<ComboBox.Style>
    <Style TargetType="{x:Type ComboBox}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding  ElementName=btnCurrent, Path=IsChecked}" Value="True">
                <Setter Property="Visibility" Value="Hidden" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ComboBox.Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...