我有一个ListBox
使用DataTemplate
. 单曲ListBoxItems
显示为 aTextBlock
和 a ComboBox
。我现在想将 Style 用于 theListBoxItems
而不将其用于 inner 的项目ComboBoxes
。不幸的是,ComboBoxItem
继承ListBoxItem
似乎使这成为不可能。或者我在这里错过了什么?
<ListBox Grid.Row="1" Grid.Column="1" Name="comboBoxI" Margin="2"
ItemsSource="{Binding SomeCollection}" IsSynchronizedWithCurrentItem="True">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
</Style.Resources>
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Width="320" Padding="1,1,1,1"
<TextBlock.ToolTip>
<ToolTip Content="{Binding Path=Description}"/>
</TextBlock.ToolTip>
</TextBlock>
<ComboBox ItemsSource="{Binding SomeOtherCollection}" IsSynchronizedWithCurrentItem="True"
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding CreationInfo}" Width="Auto" Padding="1,1,1,1">
<TextBlock.ToolTip>
<ToolTip Content="{Binding Path=Description}"/>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我还尝试为 添加另一种样式ComboBoxItem
,但在这种情况下,我不知道如何将颜色重置为默认值。
感谢您的任何建议!
亨德里克。