Benutzer mit den meisten Antworten
ListView Zeile hinzufügen

Frage
-
Ich verwende folgendes ListView:
<ListView x:Name="ResultView" HorizontalAlignment="Left" Height="143" Margin="131,75,0,0" VerticalAlignment="Top" Width="376" IsSynchronizedWithCurrentItem="True"> <ListView.View> <GridView> <GridViewColumn Header="File" DisplayMemberBinding="{Binding File}"/> <GridViewColumn Header="Cyan" DisplayMemberBinding="{Binding Cyan}"/> <GridViewColumn Header="Magenta" DisplayMemberBinding="{Binding Magenta}"/> <GridViewColumn Header="Yellow" DisplayMemberBinding="{Binding Yellow}"/> <GridViewColumn Header="Black" DisplayMemberBinding="{Binding Black}"/> </GridView> </ListView.View> </ListView>
Und das ergänze ich zeilenweise mit diesem Code:
items.Add(new FileAnalyse() { File = AnalyseState.Pfad, Cyan = ""+AnalyseState.Cyan, Magenta = ""+AnalyseState.Magenta, Yellow = ""+AnalyseState.Yellow, Black = ""+AnalyseState.Black }); ResultView.ItemsSource = items;
Deklaration:
List<FileAnalyse> items; items = new List<FileAnalyse>();
FileAnalyse-Klasse:
public class FileAnalyse { public String File { get; set; } public String Cyan { get; set; } public String Magenta { get; set; } public String Yellow { get; set; } public String Black { get; set; } }
Leider wird dem ListView nichts hinzugefügt :(
Wo liegt mein Fehler?
Antworten
-
Hallo,
du brauchst eine ObservableCollection<T> und keine List<T>. Nur die zuerst genannte informiert die GUI über das hinzufügen bzw. entfernen von Elementen.
Wenn du noch Eigenschaften in FileAnalyse ändern willst, so muss diese noch INotifyPropertyChanged implementieren. Ein Beispiel dazu findest du unter Gewusst wie: Implementieren der INotifyPropertyChanged-Schnittstelle
@Thomas Das GridView ist nur als View für andere Control (ListView, ...) verwendbar, nicht selbst als Steuerelement. Auf die ListView kann man somit nicht verzichten.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 30. April 2015 11:30
- Als Antwort markiert Aleksander Chalabashiev Montag, 11. Mai 2015 11:01
Alle Antworten
-
Hallo DasKänguru,
ich würde empfehlen direkt das GridView-Element zu verwenden und kein ListView Drumherum zu packen.
Wenn du es aber unbedingt so möchtest, hier gibt es ein gutes Informationsangebot.
© 2015 Thomas Roskop
Germany // Deutschland
-
Hallo,
du brauchst eine ObservableCollection<T> und keine List<T>. Nur die zuerst genannte informiert die GUI über das hinzufügen bzw. entfernen von Elementen.
Wenn du noch Eigenschaften in FileAnalyse ändern willst, so muss diese noch INotifyPropertyChanged implementieren. Ein Beispiel dazu findest du unter Gewusst wie: Implementieren der INotifyPropertyChanged-Schnittstelle
@Thomas Das GridView ist nur als View für andere Control (ListView, ...) verwendbar, nicht selbst als Steuerelement. Auf die ListView kann man somit nicht verzichten.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 30. April 2015 11:30
- Als Antwort markiert Aleksander Chalabashiev Montag, 11. Mai 2015 11:01