如何在WPF ListView中将选择背景颜色限制为项目宽度?

时间:2010-11-17 22:30:34

标签: listview width selection listviewitem wpf-4.0

如何让选择颜色(此处为蓝色)停在文件名末尾,而不是一直到ListView的边缘?

我将橙色背景放在项目StackPanel上,以表明它不是因为它填满了我最初想到的整个宽度。

<Expander Header="Project">
    <Expander.Resources>
        <DataTemplate x:Key="IconTextItemTemplate">
            <StackPanel Orientation="Horizontal" Background="Orange">
                <Image Source="{Binding icon}"/>
                <TextBlock Text="{Binding text}"/>
            </StackPanel>
        </DataTemplate>
    </Expander.Resources>
    <ListView ItemTemplate="{StaticResource IconTextItemTemplate}"/>
</Expander>

alt text

1 个答案:

答案 0 :(得分:3)

更改ItemContainerStyle以包含Horizo​​ntalAlignment =“Left”。这样,项目容器将缩小到项目的大小,而不是填充整个列。

<Style x:Key="LeftAligned">
  <Setter Property="FrameworkElement.HorizontalAlignment" Value="Left" />
</Style>


...

<ListView ItemTemplate="{StaticResource IconTextItemTemplate}"
          ItemContainerStyle="{StaticResource LeftAligned}" />