لماذا .صافي WPF DependencyProperties يجب أن تكون ثابتة أفراد الطبقة

StackOverflow https://stackoverflow.com/questions/36682

  •  09-06-2019
  •  | 
  •  

سؤال

تعلم WPF في الوقت الحاضر.وجدت شيئا جديدا اليوم .صافي التبعية خصائص.ما يجلب الى طاولة المفاوضات هو

  • دعم الاسترجاعات (التحقق من صحة, تغيير, الخ)
  • الميراث
  • الخصائص المرفقة

من بين أمور أخرى.

ولكن سؤالي هنا هو لماذا هم بحاجة إلى أن أعلن عن ثابت في التي تحتوي على الصف ؟ على recommmended طريقة ثم يضاف سبيل المثال 'المجمع ممتلكات لهم.لماذا ؟

تحرير:@مات, ولكن أليس هذا أيضا بأن قيمة العقار هو أيضا مشترك في جميع الحالات ما لم يكن بالطبع هو اشتقاق القيمة ؟

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

المحلول

أرى 2 الأسباب وراء هذا الشرط:

  1. لا يمكنك تسجيل نفسه DP مرتين.ليتوافق مع هذا القيد يجب عليك استخدام متغير ثابت ، فإنه سيتم تهيئة مرة واحدة فقط وبالتالي سوف تسجل DP مرة واحدة فقط.
  2. DP يجب أن تكون مسجلة من قبل أي فئة (الذي يستخدم هذا DB) إنشاء مثيل

نصائح أخرى

التبعية خصائص ثابتة لأن المفتاح الأمثل في WPF:العديد من الضوابط في WPF عشرات ، إن لم يكن مئات من خصائص.معظم الخصائص في هذه الفصول يتم تعيين القيمة الافتراضية الخاصة بهم.إذا DP كانت سبيل المثال خصائص الذاكرة سوف تحتاج إلى تخصيص كل عقار في كل الكائن الذي خلق.منذ موانئ دبي هي ثابتة ، WPF مجاني لإدارة كل مكان الإقامة استخدام الذاكرة بشكل أكثر فعالية.

السبب في أنك يجب أن تقدم القيمة الافتراضية لأي DP قمت بالتسجيل لأن WPF سوف تأخذ الرعاية ليس على تخصيص ذاكرة إضافية عن الممتلكات الخاصة بك عندما يكون تعيين إلى قيمته الافتراضية ، بغض النظر عن كيفية العديد من الكائنات التي تحتوي على تلك الخاصية يمكنك إنشاء.

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

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