سؤال

أحاول استخدام نوع متداخلي في ObjectDatasource A LA هذه شرط. لا يبدو أن يعمل بالنسبة لي.

<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
هل كانت مفيدة؟

المحلول

هذه مشكلة معروفة في مقابل 2008 وما بعدها. الموقف الرسمي لمايكروسوفت هو أنه لا ينبغي أن تفعل هذا:

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

نصائح أخرى

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

ال Type2Extension لن تنتج أخطاء مصممة مثل TypeExtension هل. ربما لن يحدث هذا في VS 2010.

التحذير الوحيد هو أن الأصل TypeExtension أنت تستخدم مع {x:Type أكتب اسم} هو أكثر قوة قليلا من Type2Extension (على سبيل المثال، التحقق من ذلك ما إذا كانت الحجج خالية وإلقاء الاستثناءات).

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