Hallo Leute,
es geht rein um eine spezielle Darstellung einer ListView in XAML. Wahrscheinlich hat jemand von Euch eine Idee. Im Forum habe ich unter dem Thema "Spielpaarungen" und "Paarungen" etwas gefunden, aber dort geht es nur um die Erstellung von Spielpaarungen, nicht um meine Fragestellung zur "Formatierung".
Ich habe eine Klasse Mannschaft erstellt. Öffentliche Eigenschaften: LandFlagge und LandName. Diese befüllt mit 4 Mannschaften. Im code listView.ItemsSource auf die Liste gesetzt.
Nun will ich die Spielpaarungen in einer ListView "listView" darstellen. Pro Zeile (also zur Zeit 2 Zeilen) im Format
LandFlagge - LandName (Team 1) - LandName - LandFlagge (Team2)
LandFlagge - LandName (Team 3) - LandName - LandFlagge (Team4)
Wie soll ich das in XAML programmieren? Ich kriege es einfach nicht hin. Ich schaffe es lediglich alle Einträge der Liste untereinander darzustellen oder aber nebeneinander, dann aber doppelt, also
Team1 - Team1
Team2 - Team2
(siehe unten)
Ich danke für eure Hilfe!
Klasse Mannschaft:
public partial class MainWindow : Window
{
public class Mannschaft
{
private string landFlagge, landName;
public string LandFlagge { get ⇒ landFlagge; set ⇒ landFlagge = value; }
public string LandName { get ⇒ landName; set ⇒ landName = value; }
}
Code:
.....
List<Mannschaft> teams = new List<Mannschaft>();
private void Start()
{
teams.Add(new Mannschaft()
{
LandName = "Deutschland",
LandFlagge = "Flaggen/FlagDeutschland.png"
});
teams.Add(new Mannschaft()
{
LandName = "Russland",
LandFlagge = "Flaggen/FlagRussland.png"
});
teams.Add(new Mannschaft()
{
LandName = "Polen",
LandFlagge = "Flaggen/FlagPolen.png"
});
teams.Add(new Mannschaft()
{
LandName = "Portugal",
LandFlagge = "Flaggen/FlagPortugal.png"
});
listView.ItemsSource = teams;
}
XAML:
<Grid>
<StackPanel>
<TextBlock Text="Spielpaarungen"/>
<ListView x:Name="listView" Height="auto" Width="auto">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding LandFlagge}" Height="16" Width="16"/>
<TextBlock Text="{Binding LandName}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding LandName}"/>
<Image Source="{Binding LandFlagge}" Height="16" Width="16"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</Grid>