मेरे पास एक काफी बुनियादी WPF UI है जिसके द्वारा उपयोगकर्ता अनुरोध मेरे टैबकंट्रोल में एक नया टैब खोलने का कारण बनता है। TabControl इस तरह एक ObservableCollection<ViewModelBase>
व्यूमोडेल प्रबंधन (डिजाइनटाइम बनाम रन टाइम) के बारे में प्रश्न
के लिए बाध्य है मैं इस संग्रह के लिए ViewModel उदाहरणों जोड़ने के लिए, और इसी टैब की सामग्री आधारित प्रदर्शित किया जाता है टेम्पलेट्स पर:
<DataTemplate DataType="{x:Type viewModels:UserUploadsViewModel}">
<userControls:UserUploads />
</DataTemplate>
अब मान लीजिए कि को नियंत्रित UserUploads की है कि अंदर मैं जाने XAML में एक वीएम ऊपर तार की डिजाइन के साथ मदद करने के लिए इस तरह, चाहेंगे:
<UserControl x:Class=".....UserUploads"
.....
DataContext="{Binding Source={StaticResource ViewModelLocater},
Path=UserAdministrationViewModel}">
यह गुण एक वी एम को लाइव सेवाओं के साथ कार्यावधि में डिजाइन समय में नकली डेटा के साथ एक वी एम वापस आ जाएगी, और।
प्रश्न: क्या यह एक्सएएमएल एक व्यूमोडेल इंस्टेंस में टैबइटम सामग्री को बाध्य करने में क्या कर रहा है, और सही डेटा प्रस्तुत करने के लिए उपरोक्त डेटा टेम्पलेट पर निर्भर करता है? यदि हां, तो क्या इन दोनों अवधारणाओं को एक साथ काम करने का कोई तरीका है?
यह बहुत अच्छा लग रहा है। तो यदि यह डिज़ाइन का समय है, तो (डिज़ाइन टाइम व्यू मॉडल) ऑब्जेक्ट को वायर्ड किया जाएगा, लेकिन रनटाइम पर यह कुछ भी नहीं करेगा? –
हां, यह मिश्रणशीलता के लिए जोड़ा गया है। – anivas
शानदार! 'IsDesignTimeCreatable = True' का उपयोग डेटा के साथ दृश्य को पॉप्युलेट करेगा। यदि 'गलत' पर सेट किया गया है, तो यह केवल डेटा के "आकार" प्रदान करेगा, जो डिजाइनर में पूर्ण डेटा बाध्यकारी समर्थन देता है, बजाय अंधेरे से बाध्यकारी। साथ ही, आप '{d: DesignData} 'के साथ उदाहरण डेटा को पूरी तरह से निर्दिष्ट करने के लिए .xaml फ़ाइल का उपयोग कर सकते हैं। देखें [वाकथ्रू: डिज़ाइनर में डेटा टू बाइंड टू डिज़ाइन इनस्टैंडेंस का उपयोग करना] (http://msdn.microsoft.com/en-us/library/dd490796 (VS.100) .aspx) और [Walkthrough: नमूना डेटा का उपयोग करना डब्ल्यूपीएफ डिजाइनर] (http://msdn.microsoft.com/en-us/library/ee823176 (v = vs.100) .aspx) – cod3monk3y