У меня есть SplitButton
в моем окне WPF, которое заимствовано из расширенного инструментария WPF Xceed. Его раскрывающийся контент содержит около RadioButton
с. Что-то вроде:WPF-Как скрыть выпадающее меню после нажатия
<Window x:Class="WpfTest.Test3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
Title="Test3" Height="300" Width="300">
<Grid Height="25" Width="150">
<tk:SplitButton Content="Default Command">
<tk:SplitButton.DropDownContent>
<StackPanel>
<RadioButton Content="Default Command" GroupName="variations" Margin="5" IsChecked="True"/>
<RadioButton Content="Alternate Command 1" GroupName="variations" Margin="5"/>
<RadioButton Content="Alternate Command 2" GroupName="variations" Margin="5"/>
</StackPanel>
</tk:SplitButton.DropDownContent>
</tk:SplitButton>
</Grid>
</Window>
, который генерирует что-то вроде этого:
Проблема заключается в том, когда я нажимаю на каждом из RadioButton
сек ниспадающего меню не исчезнут. Я сделал несколько поисковых запросов и понял, что я должен обработать событие Click
для каждого RadioButton
. Но я не знаю, как скрыть раскрывающееся меню в этом обработчике событий. В качестве примечания, похоже, MenuItem
has the property ofStaysOpenOnClick
, но для других элементов управления нет такой вещи.
Хотя делать это программно было бы достаточно, но есть ли способ MVVM для этого?
Не совсем подходит для вашей проблемы, но почему вы предпочитаете радиокнопки над DropDownList? –
@ Заметить, что такое выпадающий список? 'SplitButton' имеет свойство DropDownContent, которое может быть заполнено' MenuItem' или что-то вроде того, что я пробовал. Я не понял, что вы имеете в виду. –
Извините, я имел в виду ComboBox: https://www.dotnetperls.com/combobox-wpf –