Aussehen einer ListView-Spalte ändern

  • WPF

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Incognito.

    Aussehen einer ListView-Spalte ändern

    Hallo!

    Ich möchte die Namen von gegeneinander spielenden Mannschaften in einer ListView (WPF) anzeigen. Dabei sind jedoch, da natürlich nicht jeder Name gleich lang ist die Doppelpunkte nicht untereinander.
    Meine Frage ist nun, ob und wie es möglich ist den Doppelpunkt (z.B. "MannschaftA : M-C") immer mittig zu halten, die Zelle dabei aber trotzdem linksbündig auszurichten.

    Um zu verdeutlichen was ich meine hier der XAML-Code einer Darstellung bei der der Doppelpunkt mittig, der gesamte Text aber auch zentriert ist, was ich aus optischen Gründen wenn es möglich ist vermeiden möchte.

    XML-Quellcode

    1. <GridViewColumn Header="Teinehmer" >
    2. <GridViewColumn.CellTemplate>
    3. <DataTemplate>
    4. <Grid>
    5. <Grid.ColumnDefinitions>
    6. <ColumnDefinition Width="*"/>
    7. <ColumnDefinition Width="*"/>
    8. </Grid.ColumnDefinitions>
    9. <Grid>
    10. <Grid.ColumnDefinitions>
    11. <ColumnDefinition Width="*"/>
    12. <ColumnDefinition Width="Auto"/>
    13. <ColumnDefinition Width="*"/>
    14. </Grid.ColumnDefinitions>
    15. <TextBlock Grid.Column="0" Text="{Binding MannschaftA}" HorizontalAlignment="Right"/>
    16. <TextBlock Grid.Column="1" Text=" : " HorizontalAlignment="Center"/>
    17. <TextBlock Grid.Column="2" Text="{Binding MannschaftB}"/>
    18. </Grid>
    19. </Grid>
    20. </DataTemplate>
    21. </GridViewColumn.CellTemplate>
    22. </GridViewColumn>
    Danke sehr!
    Falls jemanden die Lösung interessiert, sie sieht folgendermaßen aus:

    XML-Quellcode

    1. <ListView Grid.Row="3" Name="lvGroupMatches1" HorizontalContentAlignment="Center" Grid.IsSharedSizeScope="True">
    2. <ListView.ItemContainerStyle>
    3. <Style TargetType="ListViewItem">
    4. <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    5. </Style>
    6. </ListView.ItemContainerStyle>
    7. <ListView.View>
    8. <GridView >
    9. <GridViewColumn Header="Feld" DisplayMemberBinding="{Binding Feld}" />
    10. <GridViewColumn Header="Uhrzeit" DisplayMemberBinding="{Binding Uhrzeit}" />
    11. <GridViewColumn Header="Teinehmer" >
    12. <GridViewColumn.CellTemplate >
    13. <DataTemplate >
    14. <Grid>
    15. <Grid.ColumnDefinitions>
    16. <ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
    17. <ColumnDefinition Width="Auto"/>
    18. <ColumnDefinition Width="*"/>
    19. </Grid.ColumnDefinitions>
    20. <TextBlock Grid.Column="0" Text="{Binding MannschaftA}" HorizontalAlignment="Right" />
    21. <TextBlock Grid.Column="1" Text=" : " HorizontalAlignment="Center"/>
    22. <TextBlock Grid.Column="2" Text="{Binding MannschaftB}"/>
    23. </Grid>
    24. </DataTemplate>
    25. </GridViewColumn.CellTemplate>
    26. </GridViewColumn>
    27. <GridViewColumn Header="Ergebnis" DisplayMemberBinding="{Binding Ergebnis}" />
    28. </GridView>
    29. </ListView.View>
    30. </ListView>


    EDIT: Ach ja und danke für das Verschieben meiner Frage!