أنا أتابع مع إنشاء مستندات XAML Markup Extensions وفي قسم موفري الخدمة ، يذكر الخاصية SimpleValueTargetProvider.ParentObjects
. لا يمكن الوصول إلى هذه الخاصية لأن واجهة IProvideParentValues التي يرثها SimpleValueTargetProvider
هي internal
.
لسبب ما ، يعرض VS2017 intellisense الخاصية أثناء تصحيح الأخطاء ولكنه لن يسمح لك باستخدامها. هذه الخاصية ParentObects
ستكون مفيدة للغاية. كيف يمكنني الوصول إلى هذا؟
يجب ألا تستخدم SimpleValueTargetProvider
وتوقع إرجاع هذا النوع كلما طلبت IProvideValueTarget
. يمكن أن تعتمد خدمة serviceProvider التي تم إرجاعها على السياق ، ويتم تمكين XamlC سواء أكان ذلك أم لا.
الهدف من ParentObjects
هو تنفيذ IReferenceProvider
، فقد تجد ما تحتاجه هناك. ليس لدينا خطط لفتح ParentObjects
لأن إنتاجه مكلف للغاية ، وما زلنا نحاول معرفة ما إذا كان بإمكاننا تجنب إنتاجه.
آمل أن يساعد
يجب تحديث المستندات بحيث لا تشير إلى هذا بعد ذلك.
لقد راجعت "IReferenceProvider" وهذا لن يساعدني. أحتاج إلى أن أكون قادرًا على تحديد التسلسل الهرمي الأصلي لـ "TargetObject" من داخل "IMarkupExtension". أحتاج إلى الوصول إلى جميع الأنواع حتى أتمكن من البحث عن النوع الذي أريده بناءً على وراثة النوع وليس الاسم. أيه أفكار؟
StephaneDelcroix يجب أن أوافق على أن لدي بعض السيناريوهات بالإضافة إلى المكان الذي أحتاج فيه لتقييم الكائنات
التعليق الأكثر فائدة
StephaneDelcroix يجب أن أوافق على أن لدي بعض السيناريوهات بالإضافة إلى المكان الذي أحتاج فيه لتقييم الكائنات