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

如何在WPF ListView中将选择背景色限制为项目宽度?,listview,width,selection,listviewitem,wpf-4.0,Listview,Width,Selection,Listviewitem,Wpf 4.0,如何使选择颜色(此处为蓝色)停止在文件名末尾,而不是一直到列表视图的边缘 我将橙色背景放在物品StackPanel上,以表明这并不是因为它填满了我最初认为的整个宽度 <Expander Header="Project"> <Expander.Resources> <DataTemplate x:Key="IconTextItemTemplate"> <StackPanel Orientation="Hori

如何使选择颜色(此处为蓝色)停止在文件名末尾,而不是一直到
列表视图的边缘

我将橙色背景放在物品
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>


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

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


...

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

...