listview databindings



  • Ich hab meine klasse davon abgeleitet (s.u.)

    public class Test : INotifyPropertyChanged{
    
       public event PropertyChangedEventHandler PropertyChanged;
       string strDummy;
    
       private void NotifyPropertyChanged(string name)
       {
          if (PropertyChanged != null)
              PropertyChanged(this, new PropertyChangedEventArgs(name));
       }
    
       public Test{
           strDummy = "";
       }
    
       private string meinString{
           get { return this.strDummy;}
           set { 
                this.strDummy = value; 
                this.NotifyPropertyChanged("meinString");
           ;}
       }
    }
    

    Aber irgendwie funzr das bei mir nicht. Ich hab VS 2005 installiert. Hast du dafuer kein Beispiel?

    Cheers,
    Pete



  • Hast du dafuer kein Beispiel?

    Google liefert Dir da bestimmt Beispiele für. (Ohne k würde die Frage viel besser wirken)



  • dann halt ohne "k". Ist doch egal, hauptsache die Intention wird verstanden. Und so eine Antwort ist bescheiden. Wobei das noch geprahlt ist...



  • Die Antwort entspricht in etwa Deiner Eigeninitiative.



  • was bedeutet "funktioniert nicht" ? fehlemeldung ?
    wird die liste nicht geupdated ?
    hast du ObservableCollection statt list in benutzung ?
    warum ist meinString private ? fuer ein binding auf diesem property muss es schon public sein (internal kann auch gehen glaub ich)

    also

    1. nutze ObservableCollection<Test> statt List<Test>
    2. leite Test von dem interface ab (hast du bereits, aber mach das property public)
    3. setz in der list das itemsource auf "{Binding}", und im itemTemplate auf "meinString"
    4. setz den DataContext des controlls auf die erstellte observable collection

    nun kannst du nach belieben elemente aendern, hinzufuegen, entfernen, selektieren, sortieren usw usf



  • Du redest hier aber von WPF und nicht C# oder?



  • escapete schrieb:

    Du redest hier aber von WPF und nicht C# oder?

    Außer dem Design was in WPF mit XAML gemacht wird, ist in WPF alles andere auch in C# gemacht. Was meinst du also mit der Frage? Das was dir Mr Evil erklärt hat, ist genauso unter Windows Forms zu finden.Fals du darauf hinaus willst.



  • Mr Evil schrieb:

    3. setz in der list das itemsource auf "{Binding}", und im itemTemplate auf "meinString"
    4. setz den DataContext des controlls auf die erstellte observable collection

    nun kannst du nach belieben elemente aendern, hinzufuegen, entfernen, selektieren, sortieren usw usf

    ich kann weder das Itemsource noch das itemtemplate setzen, oder ich bin gerad einfach unfaehig 🙂



  • Achso...ahhh halt, den 3. Punkt hab ich komplett außer Acht gelassen. Ja das scheint mir doch WPF zu sein, und ob das unter Forms so geht bin ich mir nicht Sicher.sollte aber mit der DataSource und Databinding Eigenschaft gehen, das hab ich auch schonmal jemacht.



  • bei einer listview? ich bin mir da nicht sicher, denn ich kriegs noch immer nicht hin 😞


Anmelden zum Antworten