This article has been localized into Danish by the community.
Hvordan: ListView med venstrejusterede kolonnenavne
I et normalt ListView er kolonnenavnene venstrejusterede, men af en eller anden grund besluttede Microsoft at centrere navnene som standard i WPF ListView. I mange tilfælde får det din applikation til at være ude af trit med andre Windows applikationer. Dette er, som ListView vil se ud i WPF som standard
Lad os prøve at ændre dette til venstrejusterede kolonnenavne. Desværre er der ikke nogle direkte egenskaber på GridViewColumn til at kontrollere dette, men heldigvis betyder det ikke, at det ikke kan ændres.
Ved hjælp af en Style rettet mod GridViewColumnHeader, der er det element, der bruges til at vise overskriften på en GridViewColumn, kan vi ændre HorizontalContentAlignment egenskaben. I dette tilfælde er den standard Center, men vi kan ændre den til Left for at opnå det, vi ønsker:
<Window x:Class="WpfTutorialSamples.ListView_control.ListViewGridViewSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ListViewGridViewSample" Height="200" Width="400">
<Grid>
<ListView Margin="10" Name="lvUsers">
<ListView.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Left" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
<GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
Den del, som gør arbejdet for os, er den Style, der er defineret i Resources på ListView;
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Left" />
</Style>
Lokal eller global typografi
Ved at definere Style inde i kontrollen, får den kun effekt på lige præcis dette ListView. I mange tilfælde vil du måske have den til at have effekt på alle ListView i det samme Window/Page eller endda globalt i hele applikationen. Du kan gøre dette ved enten at kopiere typografien til Window ressourcer eller Application ressourcer. Her er det samme eksempel, hvor vi har angivet typografien til hele Window i stedet for bare det enkelte ListView:
<Window x:Class="WpfTutorialSamples.ListView_control.ListViewGridViewSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ListViewGridViewSample" Height="200" Width="400">
<Window.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Left" />
</Style>
</Window.Resources>
<Grid>
<ListView Margin="10" Name="lvUsers">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
<GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
I tilfælde af, at du ønsker en anden justering, f.eks. højrejustering, ændrer du bare værdien på typografien som dette:
<Setter Property="HorizontalContentAlignment" Value="Right" />