在WPF中创建顶级菜单时,我使用了将RadioButton设置为ToggleButton的技巧,以获得“仅选择一个”效果。像这样:
<ItemsControl ItemsSource="{Binding ViewModels}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton Content="{Binding Key.Name}" GroupName="MenuButtonGroup"
Style="{StaticResource {x:Type ToggleButton}}" >
</RadioButton>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
它工作得很漂亮,并且正如我所期望的那样。但Visual Studio将其注册为错误。
Style属性用蓝色下划线,给出的描述是无法解析资源“{x:Type ToggleButton}”。
这一切看起来都在板上但是我在Visual Stuido的错误列表上坐着这是非常恼人的。知道怎么解决吗?
编辑:刚发现这个问题 -
The resource could not be resolved (VS 2010 RC)
这表明这是一个VS错误。有人证实这一点,或知道修复?无论问题出在哪里,它仍然非常烦人!
答案 0 :(得分:3)
您可以将样式移动到资源集合,例如
<Window.Resources>
<Style x:Key="MyStyle" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource {x:Type ToggleButton}}" />
</Window.Resources>
然后引用该样式:
<RadioButton Content="{Binding Key.Name}" GroupName="MenuButtonGroup"
Style="{StaticResource MyStyle}" />