Como vincular o evento verificado para o botão de rádio no WPF?
-
23-09-2019 - |
Pergunta
Estou usando a seguinte marcação no 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>
Embora isso funcione bem quando eu executo o código, recebo o seguinte erro na janela do designer do VS 2008:
Valor 'Radiobutton.Checked' não pode ser atribuído à propriedade 'RouteDevent'. Nome do evento inválido.
Alguma idéia do porquê e como posso consertar isso?
Solução
RadioButton
é um ToggleButton
. O designer suporta o anexo ToggleButton
propriedades, mas não a RadioButton
uns (exceto em um RadioButton
tag, é claro).
Você precisa usar o nome da classe que define a propriedade/evento para o designer aceitá -lo (pensei que não há diferença no tempo de execução, pois RadioButton
É um ToggleButton
Como eu disse, mas o designer não é um compilador real).
Então, no seu caso, use <EventTrigger RoutedEvent="ToggleButton.Checked ..."
;-)