Come limitare colore di sfondo selezione di larghezza voce in WPF ListView?
-
25-09-2019 - |
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>
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