¿Cómo vincular el evento comprobado para el botón de radio en WPF?
-
23-09-2019 - |
Pregunta
Estoy usando el siguiente marcado 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 ejecuto el código, obtengo el siguiente error en la ventana del diseñador de VS 2008:
Value 'RadioButton.ecked' no se puede asignar a la propiedad 'RoutedEvent'. Nombre del evento no válido.
¿Alguna idea de por qué y cómo puedo solucionar esto?
Solución
RadioButton
es un ToggleButton
. El diseñador admite el adjunto ToggleButton
propiedades, pero no la RadioButton
los que (excepto en un RadioButton
Etiqueta, por supuesto).
Debe usar el nombre de clase que define la propiedad/evento para que el diseñador lo acepte (pensando que no hay diferencia en el tiempo de ejecución, ya que RadioButton
Es un ToggleButton
Como dije, pero el diseñador no es un compilador real).
Entonces, en tu caso, usa <EventTrigger RoutedEvent="ToggleButton.Checked ..."
;-)