2010-03-30 16 views
6

Sto usando il seguente markup in WPF:Come associare evento controllato per pulsante di opzione 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.

Qualche idea sul perché e come posso risolvere questo problema?

risposta

3

RadioButton è un ToggleButton. Il designer supporta le proprietà ToggleButton allegate, ma non quelle RadioButton (tranne ovviamente nel tag RadioButton).

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

Problemi correlati