Comment puis-je créer un ensemble de contrôles togglebutton qui se comportent comme des RadioButtons?
Je suis à l'aide de C# et WPF et en gros, je veux avoir quelques boutons à bascule et un seul d'entre eux peut être sélectionné en même temps.
J'ai trouvé une autre question à ce sujet, mais la solution montré qu'il ne fonctionne pas et je ne sais pas pourquoi.
Si j'essaie de le faire comme mentionné dans la question ci-dessus, le ItemTemplate
de la ListBox
n'est pas appliquée. Je ne vois pas les boutons de bascule dans la zone de liste, c'est plutôt présenté comme une "zone de liste normale".
Mon bouton à bascule de style ressemble à ça, contenue dans un de mes fichiers de ressources:
<Style x:Key="ToggleButtonListBox" TargetType="{x:Type ListBox}">
<Setter Property="ListBox.ItemTemplate">
<Setter.Value>
<DataTemplate>
<ToggleButton Content="{Binding}"
IsChecked="{Binding IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}" />
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ListBox.ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness" Value="0" />
</Style>
Je tiens à ajouter les éléments directement dans le code XAML, donc mon code pour qui ressemblerait à quelque chose comme
<ListBox Style="{StaticResource ToggleButtonListBox}">
<ListBoxItem>test1</ListBoxItem>
<ListBoxItem>test2</ListBoxItem>
</ListBox>
Comment puis-je créer un tel ensemble de boutons?
OriginalL'auteur Sören | 2011-02-08
Vous devez vous connecter pour publier un commentaire.
Si vous voulez des boutons radio qui ressemblent à des boutons à bascule ne sera pas des boutons radio dessiné pour ressembler à des boutons à bascule résoudre votre problème?
C'est l'une des plus grandes choses au sujet de WPF: comportement est séparé de la présentation. Aussi, il serait mieux de poster la solution comme une réponse. Après un certain temps, vous pouvez l'accepter comme étant la bonne réponse.
je sais, j'ai essayé de l'accepter et il ne fonctionne pas encore (3 min de verrouillage). Maintenant il l'a fait. Merci encore!
le problème est que vous ne pouvez pas décocher
Malheureusement, "x:Type de contrôle ToggleButton" truc ne fonctionne plus - j'ai VS 15.7.4 et .NET 4.7.2 et VS se plaint de la "ressource "{x:Type de contrôle ToggleButton}" ne peut pas être résolu"! Doh...
OriginalL'auteur