Je voudrais implémenter une case à cocher tout sélectionner dans xaml.
J'ai plusieurs cases (modèles) dans une liste. Ensuite, j'ai une case à cocher en dehors de la liste, que je veux avoir un comportement "select all". Je pourrais facilement résoudre le problème dans mon ViewModel, cependant, je pense qu'il serait plus élégant de le faire dans xaml, puisque la case à cocher select all n'a (directement) rien à voir avec mon ViewModel. Le code ressemble à ceci:Sélectionner tout Case à cocher en XAML en utilisant le déclencheur?
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<CheckBox Content="Globale Eingabe"
Name="SelectSingle"
IsChecked="{Binding IsChecked}">
</CheckBox>
</DataTemplate>
<ListView.ItemTemplate>
</ListView>
<CheckBox Name="SelectAll" />
Comme vous le voyez la propriété IsChecked du SelectSingle est déjà lié à mon ViewModel. Je pense donc que j'ai besoin d'un déclencheur pour manipuler l'état de la case à cocher.
Maintenant, je l'ai déjà essayé STH comme ceci:
<CheckBox Content="Globale Eingabe"
Name="SelectSingle"
IsChecked="{Binding IsChecked}">
<CheckBox.Triggers>
<Trigger SourceName="SelectAll" Property="IsChecked" Value="True">
<Setter TargetName="SelectSingle" Property="IsChecked" Value="True"/>
</Trigger>
</CheckBox.Triggers>
</CheckBox>
ou qqch comme ceci:
<CheckBox Content="Globale Eingabe"
Name="SelectSingle"
IsChecked="{Binding IsChecked}">
<CheckBox.Triggers>
<DataTrigger Binding="{Binding ElementName=SelectAll, Path=IsChecked}"
Value="True">
<Setter TargetName="Check"
Property="IsChecked"
Value="True"/>
</DataTrigger>
</CheckBox.Triggers>
</CheckBox>
J'ai essayé aussi la même chose dans un style, mais en vain. Je reçois toujours une erreur, sth le long des lignes de "membre statique" IsCheckedProperty ne peut pas être trouvé dans le type "ContentPresenter" "
Maintenant, cela semble que la liaison Target/SourceName ne fonctionnerait pas, mais pourquoi? y at-il quelque chose que je suis absent?
Je ne suis pas très satisfait de cela, car ce n'est explicitement pas ce que je voulais. Cependant, je suppose que c'est plus facile (plus laid) que de le faire de façon plus compliquée (plus belle) (je suppose que c'est compliqué, à son tour, c'est plus laid de toute façon). – Torsten