2010-03-30 6 views
6

Estoy utilizando el siguiente marcado en WPF:Cómo vincular el evento comprobado para el botón de opción en 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> 

Aunque esto funciona bien cuando corro el código, me sale el siguiente error en la ventana del diseñador de VS 2008:

Valor 'RadioButton . Chequeado 'no puede ser asignado a la propiedad' RoutedEvent '. Nombre de evento inválido.

¿Alguna idea de por qué y cómo puedo solucionar esto?

Respuesta

3

RadioButton es un ToggleButton. El diseñador admite las propiedades ToggleButton adjuntas, pero no las RadioButton (excepto en una etiqueta RadioButton, por supuesto).

Necesita usar el nombre de clase que define la propiedad/evento para que el diseñador lo acepte (pensó que no había diferencia en el tiempo de ejecución, ya que RadioButton es un ToggleButton como dije, pero el diseñador no es un compilador real) .

Así que en su caso, use <EventTrigger RoutedEvent="ToggleButton.Checked ..." ;-)

Cuestiones relacionadas