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