2008-08-27 15 views
8

WPF का उपयोग करके, मेरे पास एक TreeView नियंत्रण है कि मैं प्रक्रियात्मक कोड के माध्यम से गतिशील रूप से अपना आइटम टेम्पलेट सेट करना चाहता हूं। मैं यह कैसे करु? मुझे लगता है कि मुझे कहीं संसाधन ढूंढना होगा।मैं WPF में गतिशील रूप से ItemTemplate कैसे सेट करूं?

myTreeViewControl.ItemTemplate = ?? 

उत्तर

11

टेम्पलेट > अनुभाग सीधे अपने < Window.Resources में परिभाषित किया गया है:

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

यह आपके खिड़की के भीतर गहरे कहीं अगर की तरह, एक <Grid.Resources> खंड या कुछ में, मैं लगता है कि यह काम करेगा:

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

और यदि यह आपके आवेदन में कहीं और है, तो मैं सोचें ऐप। फाइंड रिसोर्स ("कुछ टेम्पलेट") काम करेगा।

2

यदि आपके वृक्षदृश्य नियंत्रण को आपके आइटम के लिए अलग-अलग टेम्पलेट की आवश्यकता है, तो आपको DataTemplateSelector क्लास को कार्यान्वित करना चाहिए और इसे अपने वृक्ष दृश्य में सेट करना चाहिए। जहां तक ​​मुझे याद है कि DataTemplateSelector की एक संपत्ति है।

संबंधित मुद्दे