INotifyPropertyChanged

Odpowiedz Nowy wątek
2011-08-31 23:11
Artur21
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?

Pozostało 580 znaków

2011-09-01 15:04
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).


Some people see things as they are, and say "why?". I dream things that never were and say "why not?".

Pozostało 580 znaków

2011-09-01 15:32
0

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

Pozostało 580 znaków

2011-09-01 16:41
Artur21
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?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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