Comment lier événements cochés pour le bouton radio en WPF?
-
23-09-2019 - |
Question
J'utilise le balisage suivant dans WPF:
<StackPanel.Triggers>
<EventTrigger RoutedEvent="RadioButton.Checked" SourceName="xmlRadioButton">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource ShowXmlPanel}"/>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="RadioButton.Checked" SourceName="adiRadioButton">
<EventTrigger.Actions>
<BeginStoryboard Storyboard="{StaticResource ShowAdiPanel}"/>
</EventTrigger.Actions>
</EventTrigger>
</StackPanel.Triggers>
Bien que cela fonctionne très bien quand je lance le code, je reçois l'erreur suivante dans la fenêtre du concepteur de VS 2008:
Valeur « RadioButton.Checked » ne peut pas être affecté à la propriété « RoutedEvent ». Nom de l'événement non valide.
Toute idée pourquoi, et comment puis-je résoudre ce problème?
La solution
RadioButton
est un ToggleButton
. Le concepteur prend en charge les propriétés ToggleButton
attachées, mais pas ceux de RadioButton
(sauf dans une balise RadioButton
bien sûr).
Vous devez utiliser le nom de classe qui définit la propriété / événement pour le concepteur de l'accepter (pensée il n'y a pas de différence à l'exécution, puisque RadioButton
EST un ToggleButton
comme je l'ai dit, mais le concepteur n'est pas un vrai compilateur).
Dans votre cas, utilisez <EventTrigger RoutedEvent="ToggleButton.Checked ..."
; -)