المرجع المتداخل نوع في علامة ObjectDataprovider
-
18-09-2019 - |
سؤال
أحاول استخدام نوع متداخلي في 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
(على سبيل المثال، التحقق من ذلك ما إذا كانت الحجج خالية وإلقاء الاستثناءات).