【问题标题】:How to bind Checked event for radio button in WPF?如何为 WPF 中的单选按钮绑定 Checked 事件?
【发布时间】:2024-05-19 13:40:02
【问题描述】:

我在 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>

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

值“RadioButton.Checked”不能 分配给属性“RoutedEvent”。 事件名称无效。

知道为什么,我该如何解决这个问题?

【问题讨论】:

    标签: wpf data-binding eventtrigger


    【解决方案1】:

    RadioButtonToggleButton。设计器确实支持附加的ToggleButton 属性,但不支持RadioButton 属性(当然RadioButton 标记除外)。

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

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

    【讨论】:

      最近更新 更多