Domanda

Come posso fare il colore di selezione (blu qui) stop alla fine del nome del file invece di andare fino al bordo del ListView?

ho messo lo sfondo arancione sul StackPanel elemento per dimostrare che non è perché riempie l'intera larghezza che ho primo pensiero.

<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

È stato utile?

Soluzione

Cambia l'ItemContainerStyle per includere HorizontalAlignment = "left". In questo modo il contenitore oggetto si restringerà alla dimensione dell'elemento invece di riempire l'intera colonna.

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


...

<ListView ItemTemplate="{StaticResource IconTextItemTemplate}"
          ItemContainerStyle="{StaticResource LeftAligned}" /> 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top