小编San*_*uze的帖子

WPF样式化样式中的嵌套元素

这个问题类似,我正在尝试尽可能轻松地设置ComboBoxItems的样式。但是,我正在根据此处找到的ComboBox的默认样式制作自定义样式。

<Style x:Key="MultiComboBox" TargetType="{x:Type ComboBox}">
    <Style.Resources>
        <Style TargetType="{x:Type ComboBoxItem}">
            <Setter Property="Style" Value="{StaticResource MultiComboBoxItem}"/>
        </Style>
    </Style.Resources>

    <Setter Property="SnapsToDevicePixels" Value="true" />
    <!--<Setter Property="OverridesDefaultStyle" Value="true" />-->
    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
    ...
    ...
</Style>
.
.
.
<ComboBox Style="{StaticResource MyComboBox}">
    <ComboBoxItem x:Name="First">First</ComboBoxItem>
    <ComboBoxItem x:Name="Second">Second</ComboBoxItem>
    <ComboBoxItem x:Name="Third">Third</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

我将其添加<Style.Resources>到顶部,希望这里只需要一个引用,而不是将其单独添加到嵌套元素中,或者甚至首先需要将其添加到元素中。另外,我评论了所有的OverridesDefaultStyle二传手。

但是,然后我得到一个XAMLparseexception,“不允许Style对象影响所应用对象的Style属性”。该错误本身是有道理的,但是我认为自从定位以来,ComboBoxItem它应该可以工作。有没有解决的办法?

c# wpf xaml styles

2
推荐指数
1
解决办法
1793
查看次数

标签 统计

c# ×1

styles ×1

wpf ×1

xaml ×1