如何在WPF中绑定单选按钮的Checked事件?

nul*_*Dev 6 data-binding wpf eventtrigger

我在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>
Run Code Online (Sandbox Code Playgroud)

虽然这在我运行代码时工作正常,但我在VS 2008的设计器窗口中收到以下错误:

值'RadioButton.Checked'无法分配给属性'RoutedEvent'.无效的活动名称.

知道为什么,以及如何解决这个问题?

Aur*_*bon 3

RadioButton是一个ToggleButton. 设计器确实支持附加ToggleButton属性,但不支持附加RadioButton属性(当然RadioButton标签除外)。

您需要使用定义属性/事件的类名,以便设计器接受它(认为运行时没有区别,因为正如我所说,RadioButton是 a ToggleButton,但设计器不是真正的编译器)。

所以在你的情况下,使用<EventTrigger RoutedEvent="ToggleButton.Checked ...";-)