我在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
是ToggleButton
。设计器确实支持附加的ToggleButton
属性,但不支持RadioButton
属性(当然,在RadioButton
标记中除外)。
您需要使用定义了属性/事件的类名,以使设计者可以接受它(在运行时没有什么区别,因为RadioButton
是我所说的ToggleButton
,但是设计者不是真正的编译器)。
因此,在您的情况下,请使用<EventTrigger RoutedEvent="ToggleButton.Checked ..."
;-)