0
与this相似SO问题,我试图尽可能轻松地调整ComboBoxItems的样式。但是,我正在基于ComboBox的默认样式here制作自定义样式。WPF从样式中嵌套元素
<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>
我加入了<Style.Resources>
位顶端,希望只需要在这里一个参考,而不是将其逐个添加到嵌套元素,甚至需要将其添加到元素摆在首位。另外,我注释了所有的OverridesDefaultStyle
安装者。
但是,我得到一个XAMLparseexception,“样式对象不允许影响它所应用的对象的样式属性”。错误本身是有道理的,但我认为,因为我的目标是ComboBoxItem
它应该工作。有没有解决的办法?
谢谢。我在前面的问题中看到,但他们对“ItemContainerStyle”采取行动的方式让我觉得这不是我的正确答案。谢谢你让我挺直。只要SO允许,我会尽快接受这个答案。 –
现在我的问题是,我将如何为StackPanel执行此操作? –
@SanjayCruze,StackPanel究竟应该做什么? – ASh