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?

Était-ce utile?

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 ..."; -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top