سؤال

ويقول لدي السيطرة يرث من UserControl (وبالتالي واحدة من فئاته السوبر هو DependencyObject). فمن السهل جدا لحل مشكلة التبليغ باستخدام DependencyProperty، منذ INotifyPropertyChanged يحتاج إلى تنفيذ قليلا، وسيكون الخيار الآخر أن يخلق وسيلة لتعديل حالة عنصر التحكم (مثل myControl.HideTextBox()). أعتقد أن هناك العديد من الخيارات لحل هذه، ولكن منذ سيطرة يرث بالفعل من DependencyObject، وDependencyProperty يبدو أن الطريق أكثر وضوحا، ولكن قد لا يكون الأمثل.

وأي فكر؟

وشكرا!

هل كانت مفيدة؟

المحلول

والميزة الحقيقية للخصائص التبعية ليست أن تحصل إعلام تغيير مجانا (على الرغم من أن هناك). الميزة الحقيقية هي أن خصائص الاعتماد فقط يمكن أن يكون هدفا للربط البيانات. هذا هو ما يجب أن تنظر أولا وقبل كل شيء عندما يقرر ما إذا كان ينبغي أن تكون الملكية التبعية أو لا.

لعنصر تحكم، تقريبا ينبغي أن تكون جميع خصائص يمكن ربطها، وبالتالي التبعية.

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