WPF - 样式化RadioButton作为ToggleButton工作,但在VS中显示错误

时间:2014-03-12 16:45:19

标签: wpf xaml

在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错误。有人证实这一点,或知道修复?无论问题出在哪里,它仍然非常烦人!

1 个答案:

答案 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}" />