Benutzer mit den meisten Antworten
"FLASHY_CARDS.Viewmodels.MainViewModel" implementiert den Schnittstellenmember "System.ComponentModel.INotifyPropertyChanged.PropertyChanged" nicht. "FLASHY_CARDS.Viewmodels.MainViewModel.PropertyChanged" hat nicht den entsprechenden Rückgabetyp ??????

Frage
-
So Hallo alle miteinander!
Ich programmiere im Moment für WP eine App die es ermöglichen soll Wörtchen zu notieren und dann auch wieder anzuschauen.
Ich nutze dafür die PropertyChange event. Nachdem ich stundenlang gekämpft habe konnte ich einen Fehler beheben. (PropertyChange wurde bereits definiert... bla bla)
Jetzt kommt aber dieser Fehler der VIIIIIIEEEL ärgerlicher ist, weil ich keine Ahnung habe was ich darunter verstehen soll, geschweige denn wie ich ihn beheben kann...
Weiss jemand weiter, ich wäre SEHR dankbar :)
Hier noch der Code:
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.ComponentModel; using System.Collections.ObjectModel; using FLASHY_CARDS.ViewModels; namespace FLASHY_CARDS.Viewmodels { public class MainViewModel : INotifyPropertyChanged { private ObservableCollection<Wort> _wort; public ObservableCollection<Wort> Wort { get { return _wort; } set { _wort = value; NotifyPropertyChanged("Wort"); } } public void LoadWort() { ObservableCollection<Wort> Collection = new ObservableCollection<Wort>(); Collection.Add(new Wort() { Deutsch = "Rennen", Deklination_Infos = "3.Kons", Fremdsprache = "currere" }); Wort = Collection; } private void NotifyPropertyChanged(string PropertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } #region INotifyPropertyChanged Members public event ProgressChangedEventHandler PropertyChanged; #endregion } }
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:22 Formatierung
Antworten
-
Hallo A.,
Zitat: "wichtig ist, dass die ObservableCollection-Klasse zwar Informationen zu Änderungen an ihre eigenen Elemente überträgt, nicht aber über Informationen zu Änderungen an den Eigenschaften der eigenen Elemente verfügt und nicht darauf reagiert. Mit anderen Worten: Die Klasse überwacht die Elemente innerhalb ihrer eigenen Auflistung nicht auf Benachrichtigungen über Eigenschaftsänderungen." [Quelle]
es gibt aber Möglichkeiten:
[WPF ObservableCollection und INotifyCollectionChanged]
http://dzaebel.net/WpfObservable.htm[c# - ObservableCollection that also monitors changes on the elements in collection - Stack Overflow]
http://stackoverflow.com/questions/269073/observablecollection-that-also-monitors-changes-on-the-elements-in-collection[c# - Observable Collection Property Changed on Item in the Collection - Stack Overflow]
http://stackoverflow.com/questions/1015126/observable-collection-property-changed-on-item-in-the-collection
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:24
-
Hallo ahref,
versuchs mal mit
public event PropertyChangedEventHandler PropertyChanged;
Viele Grüße
Martin
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23
-
Hallo A.,
In Deinem Code ganz unten steht ProgressChangedEventHandler, das sollte sicher PropertyChangedEventHandler sein.
Leite Deine Klasse zum Beispiel auch einfach von InpcBase ab, dann ist automatisch über die Basisklasse eine Zeile:public event PropertyChangedEventHandler PropertyChanged;
mit enthalten und Du hast zusätzlich die Möglichkeit das Changed-Ereignis über typsichere Lamda-Ausdrücke auszulösen, was u.a. fehlerfreiere Programme ergibt:
[Sichere Strings in INotifyPropertyChanged]
http://dzaebel.net/INPC.htm
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23
Alle Antworten
-
Hallo ahref,
versuchs mal mit
public event PropertyChangedEventHandler PropertyChanged;
Viele Grüße
Martin
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23
-
Hallo A.,
In Deinem Code ganz unten steht ProgressChangedEventHandler, das sollte sicher PropertyChangedEventHandler sein.
Leite Deine Klasse zum Beispiel auch einfach von InpcBase ab, dann ist automatisch über die Basisklasse eine Zeile:public event PropertyChangedEventHandler PropertyChanged;
mit enthalten und Du hast zusätzlich die Möglichkeit das Changed-Ereignis über typsichere Lamda-Ausdrücke auszulösen, was u.a. fehlerfreiere Programme ergibt:
[Sichere Strings in INotifyPropertyChanged]
http://dzaebel.net/INPC.htm
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:23
-
@Frank und Martin: Danke so ists gegangen :) irgendwas ist aber trotzdem schief gegangen, die Daten werden nich angezeigt... Naja Egal, wofür gibt es das Wochenende? Genau! Den ganzen Code noch einmal durchgehen und nach Fehlern suchen... :D
@Frank: Das mit dem ProgressChangedEventHandler wars leider nicht, hatte zuerst auch gehofft das es damit fertig ist, aber tja musste schon auf eure Antworten warten :D
-
Hallo A.,
Zitat: "wichtig ist, dass die ObservableCollection-Klasse zwar Informationen zu Änderungen an ihre eigenen Elemente überträgt, nicht aber über Informationen zu Änderungen an den Eigenschaften der eigenen Elemente verfügt und nicht darauf reagiert. Mit anderen Worten: Die Klasse überwacht die Elemente innerhalb ihrer eigenen Auflistung nicht auf Benachrichtigungen über Eigenschaftsänderungen." [Quelle]
es gibt aber Möglichkeiten:
[WPF ObservableCollection und INotifyCollectionChanged]
http://dzaebel.net/WpfObservable.htm[c# - ObservableCollection that also monitors changes on the elements in collection - Stack Overflow]
http://stackoverflow.com/questions/269073/observablecollection-that-also-monitors-changes-on-the-elements-in-collection[c# - Observable Collection Property Changed on Item in the Collection - Stack Overflow]
http://stackoverflow.com/questions/1015126/observable-collection-property-changed-on-item-in-the-collection
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 9. März 2011 15:24