تنويه | في WPF أو SilverLight انتبه لاستخدام الربط Binding للـ DataContext
نحن نعلم أنه عند تغيير DataContext لأي عنصر يقوم بتعميمه على كل العناصر الأبناء أي العناصر الفرعية التي تقع تحته
ولكن في بعض الأحيان قد يلزم أن نجعل أحد العناصر الأبناء يربط خصائصه بمصدر بيانات مختلف سواء داخل XAML أو من خلال الكود
ولكن يجب الانتباه عند ربط الـ DataContext نفسها للعنصر الابن بأحد خاصيات مصدر الأب
لأن هذا سيعمل أول مرة ومن ثم سيفقد الاستجابة
لماذا ؟
لأنه في المرة التالية سيكون مصدر البيانات هو القيمة الجديدة للـ DataContext وليس مصدر الأب وبالتالي لم تعد الخاصية المصدر متوفرة لأنه فقد الارتباط مع مصدر الأب وتحول إلى المصدر الجديد
ولهذا يتوجب التحديث يدويا من خلال الكود أو التحايل على الأمر بإنتاج مصدر بيانات مساعد أو محلي داخلي مثلا SubDataContext بحيث هو الذي نربطه مع الأب
وفي حدث التغير داخليا في كل مرة نعيد إسناده إلى DataContext الابن