我在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”不能分配给属性“ rutedevent”。事件名称无效。

知道为什么,我该如何解决?

有帮助吗?

解决方案

RadioButton 是一个 ToggleButton. 。设计师确实支持附件 ToggleButton 属性,但没有 RadioButton (除了 RadioButton 标签当然)。

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

因此,在您的情况下,请使用 <EventTrigger RoutedEvent="ToggleButton.Checked ..." ;-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top