J'ai une SplitButton
dans ma fenêtre WPF, qui est empruntée à la boîte à outils WPF étendue de Xceed. Son contenu déroulant est composé de quelques RadioButton
s. Quelque chose comme:WPF- Comment masquer un menu déroulant après avoir cliqué sur
<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>
qui génère quelque chose comme ceci:
Le problème est, quand je clique sur chacun des RadioButton
du menu déroulant ne disparaitra pas. J'ai fait un peu de googling et j'ai réalisé que je devrais gérer l'événement Click
pour chaque RadioButton
. Mais je ne sais pas comment cacher le menu déroulant dans ce gestionnaire d'événements. En note, il semble qu'il y ait un MenuItem
has the property ofStaysOpenOnClick
, mais il n'y en a pas pour d'autres contrôles.
Bien que faire cela par programme suffirait, mais y a-t-il un moyen MVVM pour cela?
Pas exactement une solution à votre problème, mais pourquoi préférez-vous radiobuttons sur une dropdownlist? –
@Zure Qu'est-ce qu'une liste déroulante? le 'SplitButton' a une propriété' DropDownContent', qui peut soit être remplie avec 'MenuItem's ou quelque chose comme celui que j'ai essayé. Je n'ai pas compris ce que vous voulez dire –
désolé, ce que je voulais dire est un ComboBox: https://www.dotnetperls.com/combobox-wpf –