Nous avons un contrôle simple qui hérite d'un RadioButton. Je voudrais vérifier par programme.WPF RadioButton Cliquez avec RaiseEvent
Si c'était un bouton que nous aurions cliqué normalement.
Button MyButton = ...
MyButtonClickArgs = new RoutedEventArgs(Button.ClickEvent, MyButton);
MyButton.RaiseEvent(MyButtonClickArgs);
Alors j'ai pensé que je pourrais faire ce qui suit avec un RadioButton.
RadioButton MyButton = ...
MyButtonClickArgs = new RoutedEventArgs(RadioButton.CheckedEvent, MyButton);
MyButton.RaiseEvent(MyButtonClickArgs);
Cependant, pas de chance. Tout le monde sait ce que je fais mal.
Mise à jour: Une exploration plus poussée indique que le gestionnaire d'événements OnChecked est appelé. Cependant l'état IsChecked est faux (donc il ne fait pas ce que je l'attendais). Si IsChecked est faux, je m'attendrais à ce qu'il soit vrai au moment où le gestionnaire d'événements est appelé. Au moins c'est le comportement si je clique physiquement sur le bouton.
Il devrait fonctionner. Qu'est-ce qui ne va pas? Ne recevez-vous pas l'événement? Pouvez-vous afficher le code de votre gestionnaire d'événements? –
@PraveenPaulose Le gestionnaire d'événements est appelé, mais pas dans l'état attendu. Voir la question mise à jour. – denver