AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein .NET-Framework (managed code) C# ListView mit DataBinding - Wie macht man es richtig?
Thema durchsuchen
Ansicht
Themen-Optionen

ListView mit DataBinding - Wie macht man es richtig?

Ein Thema von Mithrandir · begonnen am 25. Sep 2010
Antwort Antwort
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

ListView mit DataBinding - Wie macht man es richtig?

  Alt 25. Sep 2010, 16:16
Ich tue mich momentan immer noch schwer mit DataBinding und Co. Dabei soll das richtig geil sein, wenn mans einmal kapiert hat, hab ich mir sagen lassen.

Von Win32 her kenne ich das Füllen einer Listview so:

Ich erstelle mir eine Listview. Um nun meine Einträge hinzuzufügen, erstelle ich mir ein ListviewItem, füge meine SubItems hinzu und füge schließlich das komplette ListViewItem dem ListView über Items.Add(lvItem) hinzu.

Das funktioniert so natürlich prinzipiell in WPF-Anwendungen. Allerdings soll ich ja den Code vom Design trennen, und deshalb auch nicht programmatisch die Items so der ListView hinzufügen. Zumindest wird das an dieser Stelle behauptet und auch gleich ein Codeschnipsel gezeigt (bisschen scrollen ).

Der Übersichthalber hab ich den Code auch mal hier her kopiert:

Code:
public class BindableListViewModel
{

     public IList<TypeOfObjectToDisplay> AllObjectsToDisplay;
     public ICommand AddNewItemToList;

     public BindableListViewModel()
     { 
       AllObjectsToDisplay = new ObservableList<TypeOfObjectToDisplay>();
       AddNewItemToList = new RelayCommand(AddNewItem(), CanAddNewItem());
     }

     public bool CanAddNewItem()
     {
       //logic that determines IF you are allowed to add
       //For now, i'll just say that we can alway add.
        return true;
     }

     public void AddNewItem()
     {
       AllObjectsToDisplay.Add(new TypeOfObjectToDisplay());
     }

}
Ich verstehe das jetzt so, dass ich unter DataContext ein Objekt angeben würde, das auf dieser Klasse basiert. Jetzt lese ich bspw. meine Einträge aus der Datenbank aus, fülle ein Objekt mit den Daten der Datenbank und übergebe das gefüllte Objekt der IList vom Typ "Song". Und WPF kümmert sich darum, das alles in der ListView angezeigt wird.

Hab ich das soweit erstmal richtig verstanden? Wo sind die Stolpersteine? Und vor allem: Wo kann ich mehr darüber lesen, gerne auch in Tutorial-Form? Denn WPF/Silverlight/XAML ist für einen Win32-Anhänger doch erstmal ne riesige Umstellung...

//Edit:
Ich habe diesen Artikel über MVVM gefunden. Klingt sehr interessant, genauso wie das Demoprojekt. Ich denke, ich werde mich damit erstmal auseinander setzen.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell

Geändert von Mithrandir (25. Sep 2010 um 17:02 Uhr) Grund: Nachtrag
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz