【发布时间】:2010-09-30 18:40:30
【问题描述】:
我在 WPF 中创建了一个自定义样式列表:
<DataTemplate x:Key="SelectedTemplate">
<StackPanel Background="#FF4E4E4E" HorizontalAlignment="Stretch">
<TextBlock Text="{Binding Path=Title}" Foreground="#FFD80000" />
</StackPanel>
</DataTemplate>
<Style TargetType="{x:Type ListBoxItem}" x:Key="ContainerStyle">
<Setter Property="ContentTemplate"
Value="{StaticResource ItemTemplate}" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="ContentTemplate"
Value="{StaticResource SelectedTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
...
<ListBox
Name="lbSongs"
DockPanel.Dock="Left"
ItemsSource="{Binding Path=SongDirectory}"
SelectedItem="{Binding Path=Song, Mode=TwoWay}"
Visibility="{Binding Path=ListVisibility}"
ItemContainerStyle="{StaticResource ContainerStyle}"
HorizontalContentAlignment="Stretch"
Width="180px" Background="#FF333333" />
我尝试为所选项目制作自定义样式。为了使选择栏拉伸到 ListBox 的宽度,我将 ItemContainerStyle 的 HorizontalContentAlignment 属性设置为“Stretch”。问题是它没有完全伸展,左边的一个小条仍然存在,原来的(蓝色)选择条在那里仍然可见。看截图:
我怎样才能让它伸展到全尺寸?或者如何设置原始选择栏的样式?
提前致谢。
【问题讨论】: