سؤال

ويمكن أن تستخدم معلومات IDataError بشكل صحيح في تطبيق WinForms عناصر؟ في الماضي كنت اقوم ملزمة بالطريقة المعتادة (1) وفعل التحقق من صحة في حال OnValidating للتحكم معين. وأود أن نقل التحقق من صحة البيانات إلى نموذج المجال بحيث يمكنني مبادلة بسهولة واجهات المستخدم وحتى يتسنى لجميع من المنطق في مكان واحد.

وكنت أبحث في IDataErrorInfo ولكن كل شيء أجد صفقات مع برنامج الأغذية العالمي والتطبيق في مجال التنمية بدقة التطبيق WinForms عناصر.

ولقد لاحظت أيضا أن ملزم أن يعتاد في برنامج الأغذية العالمي في System.Windows.Data وملزم لقد كنت دائما باستخدام هو في System.Windows.Forms (التي لا يبدو أن لها عندما أحاول لإضافته كمورد - أنا باستخدام 3.5) .Aside من "ValidatesOnDataErrors" الخاصية هناك فرق بين الاثنين

و(1) وسيلة المعتاد الكائن:

myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
هل كانت مفيدة؟

المحلول

وهذا يعمل مع ErrorProvider عنصر في Windows Forms.

لبرنامج تعليمي كامل، ولكن بسيطة جدا وقصيرة، انظر> وأ href = "http://web.archive.org/web/20070423051752/http://codegod.de/WebAppCodeGod/objectdatasource-and-idataerrorinfo- مع WinForms عناصر-AID427.aspx "يختلط =" نوفولو noreferrer "> هذا بلوق وظيفة .

نصائح أخرى

نعم، IDataErrorInfo يعمل في WinForms عناصر. على سبيل المثال، سوف DataGridView استخدام هذا تلقائيا على حد سواء في الصف ولكل خلية. ولكن من تنفيذ محددة، وليس <م> تلقائيا تطبيقها على الارتباطات الأخرى. لم مرة واحدة كتابة بعض الرموز لربطه إلى خطأ مزود والقيام بالعمل عبر أحداث التغيير، ولكن أنا لم يكن لديك لتسليم أسف. ولكن يبدو لي أن أذكر أنه لم يكن كبيرا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top