كيف أقوم بتعيين ItemTemplate ديناميكيًا في WPF؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

باستخدام WPF، لدي عنصر تحكم TreeView وأريد تعيين ItemTemplate الخاص به ديناميكيًا من خلال التعليمات البرمجية الإجرائية.كيف أقوم بهذا العمل؟أفترض أنني بحاجة للعثور على المورد في مكان ما.

myTreeViewControl.ItemTemplate =   ??
هل كانت مفيدة؟

المحلول

إذا تم تعريف القالب في قسم <Window.Resources> مباشرةً:

myTreeViewControl.ItemTemplate = this.Resources["SomeTemplate"] as DataTemplate;

إذا كان في مكان ما عميقًا داخل نافذتك، كما هو الحال في قسم <Grid.Resources> أو شيء من هذا القبيل، فأعتقد أن هذا سينجح:

myTreeViewControl.ItemTemplate = this.FindResource("SomeTemplate") as DataTemplate;

وإذا كان في مكان آخر في طلبك، فأنا يفكر سوف يعمل App.FindResource("SomeTemplate").

نصائح أخرى

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

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