2010-07-07 12 views
8

मुझे एक टैब नियंत्रण मिला है, और जब उपयोगकर्ता इसमें जोड़ना चाहता है, तो मैं कुछ तत्वों की प्रतिलिपि बनाना चाहता हूं जो पहले से मौजूद हैं (न केवल उन्हें संदर्भित करें)। अब तक, मैंने अभी तक इच्छित चरों की प्रतिलिपि बनाई है। लेकिन मैं स्वचालित आकार देने वाले कोड में एक फसल आया हूं- यानी, प्रतिलिपि तत्व खिड़की का आकार बदलते समय मूल के पीछे ध्यान देता है। इसके अलावा, यह उस तत्व को प्रतिलिपि रखने के लिए केवल अक्षम है जिसे मुझे प्रतिलिपि बनाने की आवश्यकता है क्योंकि उस सूची में वृद्धि होती है। क्या कोई ऐसी विधि है जिसका मैं उपयोग कर सकता हूं जो एक WPF नियंत्रण की प्रतिलिपि बनायेगा? अभी, यह सिर्फ एक टेक्स्ट बॉक्स और एक टैब आइटम है।प्रोग्रामिंग के लिए एक WPF नियंत्रण की प्रतिलिपि बनाएँ

उत्तर

10

मैं आपके प्रश्न को याद कर सकता हूं, लेकिन आप एक कस्टम उपयोगकर्ता नियंत्रण बना सकते हैं, और जब भी आपको नया नियंत्रण जोड़ने की आवश्यकता होती है, तो बस उस नियंत्रण का एक नया उदाहरण बनाएं और इसे अपने दृश्य में जोड़ें, इस तरह आप इसे देख सकते हैं का उपयोग DataContext के डेटा जो आप नियंत्रण से अपने नकल का उपयोग कर सकते बंधन के साथ मदद करने के लिए:

MyControl newControl = new MyControl { DataContext = controlToCopy.DataContext }; 
myGrid.Children.Add(newControl); 

या इसी तरह की ...

या आप इसे की आवश्यकता है कि अधिक से अधिक गतिशील होने के लिए?

+0

डेटाकॉन्टेक्स्ट को स्विच करने से चाल चल रही है। धन्यवाद! – Puppy

11

मैं काफी नहीं बता सकता है कि यह है कि आप क्या करने की कोशिश कर रहे हैं, लेकिन अगर आप एक नया उदाहरण के लिए एक मौजूदा नियंत्रण उदाहरण आप को क्रमानुसार करने XamlWriter और XamlReader उपयोग कर सकते हैं के समान चाहते/नियंत्रण deserialize है:

MyControl copy = XamlReader.Parse(XamlWriter.Save(controlInstance)) as MyControl; 
+2

यह एक अच्छा समाधान है, लेकिन यदि आप बाध्यकारी, स्टेटिक स्रोत, एक्स: नाम विशेषताओं इत्यादि का उपयोग करते हैं, तो तो आपको इन लेखों में उल्लिखित मुद्दों का ख्याल रखना चाहिए XamlWriter के Serialization सीमाएं। [ http://msdn.microsoft.com/en-us/library/ms754193.aspx] XamlWriter द्वारा लिखित [ http://blogs.msdn.com/b/mikehillberg/archive/2006/09/16 /xamlwriter.aspx] – akjoshi

+0

ये लिंक मर चुके हैं :( – JobaDiniz

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