Windows Forms Veri Bağlamada Bildirimi Değiştirme

Windows Forms veri bağlamasının en önemli kavramlarından biri değişiklik bildirimi'dir. Veri kaynağınız ve bağlama denetimlerinizin en son verileri her zaman aldığından emin olmak için veri bağlama için değişiklik bildirimi eklemeniz gerekir. Özellikle, bağlantılı denetimlerin veri kaynaklarına yapılan değişiklikler hakkında bilgilendirilmek ve veri kaynağına bir denetimin ilişkili özelliklerinde yapılan değişiklikler hakkında bildirim gönderilmesini sağlamak istersiniz.

Veri bağlamanın türüne bağlı olarak farklı türlerde değişiklik bildirimi vardır:

  • Tek bir denetim özelliğinin bir nesnenin tek bir örneğine bağlandığı basit bağlama.

  • Liste tabanlı bağlama, bir listedeki bir öğenin özelliğine veya bir nesne listesine bağlı denetim özelliğine bağlı tek bir denetim özelliği içerebilir.

ayrıca, veri bağlama için kullanmak istediğiniz Windows Forms denetimleri oluşturuyorsanız, denetimin bağlama özelliğindeki değişikliklerin veri kaynağına yayılması için, PropertyNamedeğiştirilmiş deseninin denetimlere uygulanması gerekir.

Basit bağlama için değişiklik bildirimi

Basit bağlama için, bir ilişkili özelliğin değeri değiştiğinde iş nesnelerinin değişiklik bildirimi sağlaması gerekir. Bu, iş nesnenizin her bir özelliği için bir PropertyNameChanged olayını ortaya çıkaran ve iş nesnesini, iş nesnenizin INotifyPropertyChanged arabirimi uyguladığı ve PropertyChanged bir özelliğin değeri değiştiğinde bir olay başlatan, veya tercih edilen yöntemi olan denetimlere bağlayarak yapabilirsiniz. Daha fazla bilgi için bkz. nasıl yapılır: INotifyPropertyChanged arabirimini uygulama. Arabirimini uygulayan nesneler kullandığınızda, INotifyPropertyChangedBindingSource nesnesini bir denetime bağlamak için öğesini kullanmanız gerekmez, ancak kullanılması BindingSource önerilir.

List-Based bağlamanın bildirimini değiştirme

Windows Forms, özellik değişikliği (liste öğesi özellik değeri değişiklikleri) ve liste değişti (bir öğe silinir veya listeye eklenir) bilgilerine bağlı denetimlere göre değişir. Bu nedenle, veri bağlama için kullanılan listelerin, IBindingList her iki tür değişiklik bildirimini sağlayan öğesini uygulaması gerekir. , BindingList<T> ' nin genel bir uygulamasıdır IBindingList ve Windows Forms veri bağlamasıyla kullanılmak üzere tasarlanmıştır. BindingList<T>Uygulayan bir iş nesnesi türü içeren bir oluşturabilirsiniz INotifyPropertyChanged ve liste, olayları otomatik olarak PropertyChanged olaylara dönüştürür ListChanged . bağlı liste bir değilse IBindingList , bileşeni kullanarak nesne listesini Windows Forms denetimlerine bağlamanız gerekir BindingSource . BindingSourceBileşen, ' a benzer şekilde özelliğe-listeye dönüştürme sağlayacak BindingList<T> . Daha fazla bilgi için bkz. nasıl yapılır: BindingSource ve INotifyPropertyChanged arabirimini kullanarak değişiklik bildirimleri oluşturma.

Özel denetimler için değişiklik bildirimi

Son olarak, denetim tarafında, verilere bağlanacak şekilde tasarlanan her bir özellik için PropertyNameChanged olayını kullanıma sunmalısınız. Denetim özelliğindeki değişiklikler daha sonra, bağlantılı veri kaynağına yayılır. Daha fazla bilgi için bkz . nasıl yapılır: PropertyNameChanged modelini uygulama

Ayrıca bkz.