如何在WPF中为单选按钮绑定Checked事件?
我在 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”不能是 分配给属性“RoatedEvent”。 事件名称无效。
知道为什么吗?我该如何解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RadioButton
是一个ToggleButton
。设计器确实支持附加的ToggleButton
属性,但不支持RadioButton
属性(当然RadioButton
标记除外)。您需要使用定义属性/事件的类名,以便设计器接受它(认为在运行时没有区别,因为
RadioButton
是一个ToggleButton
正如我所说,但设计者不是真正的编译器)。因此,在您的情况下,请使用 ;-)
RadioButton
is aToggleButton
. The designer does support the attachedToggleButton
properties, but not theRadioButton
ones (except in aRadioButton
tag of course).You need to use the class name that defines the property/event for the designer to accept it (thought there is no difference at runtime, since
RadioButton
IS aToggleButton
as I said, but the designer is not a real compiler).So in your case, use
<EventTrigger RoutedEvent="ToggleButton.Checked ..."
;-)