البند المختلفة قالب لكل عنصر في WPF القائمة ؟
-
02-07-2019 - |
سؤال
لدي العديد من البنود داخل قائمة التحكم.أريد كل عنصر إلى عنصر آخر قالب اعتمادا على نوع العنصر.إذن العنصر الأول في القائمة هو ObjectA نوع و لذلك أريد أن تكون المقدمة مع ItemTemplateA.البند الثاني هو ObjectB نوع و لذلك أريد أن يكون ItemTemplateB التقديم.في هذه اللحظة أنا يمكن فقط استخدام ItemTemplate الإعداد لتحديد قالب واحد لكل منهم.أي طريقة لتحقيق هذا ؟
المحلول
على ItemTemplateSelector
سوف تعمل ولكن أعتقد أنه من الأسهل لإنشاء متعددة DataTemplate
s في قسم الموارد و من ثم إعطاء كل واحد DataType
.هذا سوف تلقائيا ثم استخدام هذه DataTemplate
إذا كانت العناصر مولد بالكشف عن مطابقة البيانات نوع ؟
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
أيضا تأكد من أن لديك لا x:Key
مجموعة DataTemplate
.
قراءة المزيد عن هذا النهج هنا
نصائح أخرى
إلقاء نظرة على ItemTemplateSelector العقارات الخاصة بك قائمة التحكم.يمكنك الإشارة إلى العرف TemplateSelector والتي تقرر قالب للاستخدام في التعليمات البرمجية.
وهنا بلوق وظيفة واصفا TemplateSelectors:
http://blogs.interknowlogy.com/johnbowen/archive/2007/06/21/20463.aspx
تحرير:هنا هو أفضل وظيفة:
http://blog.paranoidferret.com/index.php/2008/07/16/wpf-tutorial-how-to-use-a-datatemplateselector/