INotifyPropertyChanged

0

Czy da się tak zaimplementować INotifyPropertyChanged, lub jakikolwiek inny interfejs, aby jego implementacja przez klasę, sprawiła, że przybindowanie do obiektu tej klasy będzie informowane, że ten właśnie obiekt się zmienił?
Przykład:
Mamy klasę MyClass, ona ma właściwość MyProperty. MyClass implementuje interfejs, o którym mówie.
Dajmy że mamy obiekt:
MyClass Obiekt = new MyClass();
I teraz, przypisanie czegoś do właściwości należącej do obiektu:
Obiekt.MyProperty = jakaśWartość;
Sprawia, że cokolwiek, co było przybindowane bezpośrednio do Obiekt(NIE do obiekt.MyProperty), będzie poinformowane o zmianie tego obiektu?
Chodzi tu konkretnie o Listę - MyProperty będzie listą, która przecież nie będzie zmieniana w całości, a tylko będzie zmieniała się jej zawartość.
Pisząc ten temat domyślam się, że trzeba by zaimplementować swoją Custom List, ale pytanie zostawiam, może jednak nie?

0

Na początku piszesz, że bindujesz do obiektu klasy, później - (NIE do obiekt.MyProperty), nie rozumiem zbytnio o co chodzi.
Anyway, jest coś takiego jak BindingList z namespace System.ComponentModel. I jeżeli elementy listy MyProperty będą posiadały poprawnie zaimplementowany interfejs INotifyPropertyChanged to chyba osiągniesz swój cel (o ile dobrze go zrozumiałem).

0

Musisz pamiętać że nie wszystkie kontenery, czy inne obiekty zwracają uwagę na zdarzenie PropertyChanged.

0

Anyway, jest coś takiego jak BindingList z namespace System.ComponentModel. I jeżeli elementy listy MyProperty będą posiadały poprawnie zaimplementowany interfejs INotifyPropertyChanged to chyba osiągniesz swój cel (o ile dobrze go zrozumiałem).

Faktycznie dobrze zrozumiałeś :), ale mój problem powstał z głupiego podejścia do pewnego problemu. Mimo, że jest nie aktualny, przyda mi się na przyszłość, dzięki bardzo.

Na początku piszesz, że bindujesz do obiektu klasy, później - (NIE do obiekt.MyProperty), nie rozumiem zbytnio o co chodzi.

Inaczej rozumiem definicję słowa 'obiekt' i 'bindowania'. Tak czy inaczej chodziło mi o coś takiego: {Binding Path=Obiekt}, a nie o {Binding Path=Obiekt.MyProperty}.

Musisz pamiętać że nie wszystkie kontenery, czy inne obiekty zwracają uwagę na zdarzenie PropertyChanged.

Jak to, co masz na myśli?

1 użytkowników online, w tym zalogowanych: 0, gości: 1