Oznámení změn v datové vazbě rozhraní Windows Forms
Jedním z nejdůležitějších konceptů model Windows Forms datové vazby je oznámení o změnách. Pokud chcete zajistit, aby ovládací prvky zdroje dat a vázané ovládací prvky vždy měly nejnovější data, musíte přidat oznámení o změně datové vazby. Konkrétně chcete zajistit, aby vázané ovládací prvky byly upozorněny na změny, které byly provedeny ve zdroji dat, a zdroj dat je informován o změnách provedených vázaných vlastnostech ovládacího prvku.
V závislosti na druhu datové vazby existují různé druhy oznámení o změnách:
Jednoduchá vazba, ve které je jedna vlastnost ovládacího prvku vázána na jednu instanci objektu.
Vazba založená na seznamu, která může obsahovat jednu vlastnost ovládacího prvku vázanou na vlastnost položky v seznamu nebo vlastnost ovládacího prvku vázané na seznam objektů.
Kromě toho pokud vytváříte ovládací prvky model Windows Forms, které chcete použít pro datovou vazbu, musíte u ovládacích prvků použít model PropertyNameChanged, aby se změny vázané vlastnosti ovládacího prvku rozšířily do zdroje dat.
Oznámení o změnách pro jednoduchou vazbu
Pro jednoduchou vazbu musí obchodní objekty poskytovat oznámení o změně, když se změní hodnota vázané vlastnosti. Můžete to udělat tak, že pro každou vlastnost vašeho obchodního objektu zobrazíte událost PropertyNameChanged a provážete obchodní objekt s ovládacími BindingSource prvky nebo upřednostňovanou metodou, ve které obchodní objekt implementuje INotifyPropertyChanged rozhraní, a vyvolá PropertyChanged událost, když se hodnota vlastnosti změní. Další informace naleznete v tématu Postupy: Implementace INotifyPropertyChanged rozhraní. Při použití objektů, které implementují INotifyPropertyChanged rozhraní, není nutné použít BindingSource k vytvoření vazby objektu na ovládací prvek, ale je BindingSource doporučeno.
Oznámení o změně vazby založené na seznamu
model Windows Forms závisí na vázaném seznamu, aby bylo možné zadat změnu vlastností (změny hodnoty vlastnosti položky seznamu) a změny seznamu (položka je odstraněna nebo přidána do seznamu) informace pro vázané ovládací prvky. Proto seznamy používané pro datová vazba musí implementovat IBindingList, který poskytuje oba typy oznámení o změnách. Jedná se BindingList<T> o obecnou implementaci IBindingList a je určená pro použití s model Windows Forms datovou vazbou. Můžete vytvořit BindingList<T> objekt obsahující typ obchodního objektu, který implementuje INotifyPropertyChanged , a seznam automaticky převede PropertyChanged události na ListChanged události. Pokud vázaný seznam není IBindingList, je nutné vytvořit vazbu seznamu objektů k model Windows Forms ovládací prvky pomocí BindingSource komponenty. Komponenta BindingSource poskytne převod vlastností na seznam podobný převodu BindingList<T>. Další informace naleznete v tématu Postupy: Vyvolání oznámení o změnách pomocí BindingSource a INotifyPropertyChanged rozhraní.
Oznámení o změně vlastních ovládacích prvků
Nakonec na straně ovládacího prvku musíte zveřejnit vlastnost PropertyNameChanged událost pro každou vlastnost navrženou tak, aby byla svázána s daty. Změny vlastnosti ovládacího prvku se pak rozšíří do vázaného zdroje dat. Další informace naleznete v tématu Postupy: Použití vzoru PropertyNameChanged
Viz také
.NET Desktop feedback