Domanda

Sto usando il seguente codice in 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>

Anche se questo funziona bene quando faccio funzionare il codice, ottengo il seguente errore nella finestra di progettazione di VS 2008:

  

Valore 'RadioButton.Checked' non può essere   assegnato alla proprietà 'RoutedEvent'.   Nome evento non valido.

Qualsiasi idea del perché, e come posso risolvere il problema?

È stato utile?

Soluzione

RadioButton è un ToggleButton. Il designer supporta le proprietà ToggleButton allegati, ma non quelli RadioButton (tranne in un tag RadioButton ovviamente).

È necessario utilizzare il nome della classe che definisce la proprietà / evento per il progettista di accettarla (pensato non c'è alcuna differenza in fase di esecuzione, dal momento che RadioButton È un ToggleButton come ho già detto, ma lo stilista non è un vero e proprio compilatore).

Quindi nel tuo caso, utilizzare <EventTrigger RoutedEvent="ToggleButton.Checked ..."; -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top