Comment puis-je mettre le code XAML pour la première WPF RadioButton dans un contrôle ListView pour être cochée par défaut?
J'ai un WPF contrôle ListView contenant un certain nombre de contrôles RadioButton à l'aide de la liaison de données. J'aimerais que la première case d'option dans le groupe pour être cochée par défaut, de préférence définie dans le code XAML, plutôt que de la programmation, mais n'ont pas réussi à atteindre cet objectif.
Mon XAML pour le contrôle de l'est:
<ListView ItemsSource="{Binding OptionsSortedByKey}" >
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type Logging:FilterOptionsRadioListViewModel}">
<RadioButton Content="{Binding Value}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
La OptionsSortedByKey propriété est un SortedList.
Je l'ai fait de façon maladroite en définissant la propriété IsChecked du contrôle RadioButton dans l'événement Chargé:
var button = sender as RadioButton;
if (button != null)
{
if (button.Content.ToString().ToUpperInvariant() == "ALL")
{
button.IsChecked = true;
}
}
J'avais beaucoup préfèrent le faire par l'intermédiaire de la liaison de données dans le code XAML. Est-il un moyen simple?
OriginalL'auteur Val M | 2010-07-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez:
Où le convertisseur retourne
true
si la valeur estnull
.Cela dit, une MVVM l'approche fondée sur les faire-ce un clin d'œil. Vous devriez juste:
Et alors votre principal modèle de vue serait mis
IsChecked
àtrue
pour la première enfant de voir les modèles de la collection.oui, j'ai tendance à créer des ordinateurs virtuels qui relient les éléments de données - même si elles sont très simples. Chaque fois que je l'ai mis hors tension et tenté de s'en tirer avec seulement l'aide de l'élément de données, j'ai toujours fini par regretter...
Kent, c'est exactement ce que j'ai fait maintenant, et ont depuis trouvé d'autres propriétés que l'enfant VM besoins de toute façon donc c'est génial d'avoir l'enfant VM déjà en place. Je ne vais pas essayer et prendre des raccourcis à nouveau. Merci pour l'aide.
Qu'est-ce que les données précédentes ici. il affiche une erreur données Précédentes n'a pas été trouvé.
OriginalL'auteur Kent Boogaart