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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top