2011-08-25 13 views
20

के आधार पर अलग-अलग दृश्य I ContentControls पर ViewModels बाध्यकारी कर रहा है और कैलिबर्न को दृश्य बनाने और बाध्यकारी करने की देखभाल कर रहा है। हालांकि, मैं Caliburns ViewModel-> कॉन्फ़्रेंस को कस्टमाइज़ करना चाहता हूं, जिस पर सामग्री कंट्रोल मैं बाध्यकारी हूं।ContentControl (Caliburn.Micro)

उदाहरण के लिए, नियमित सामग्री नियंत्रण, मैं नियमित दृश्य को बाध्य करना चाहता हूं (SomethingViewModel -> SomethingView)। लेकिन एक निश्चित ContentControl के लिए, मैं कैलिब्रर्न को एक व्यू लाने के लिए चाहता हूं उदाहरण के लिए SomethingViewSpecial। क्या यह संभव है?

उत्तर

32

हां, यह संभव है।

cal:View.Context संलग्न संपत्ति का उपयोग करें और फिर YourNamespace.Something.ContextView जैसे निर्दिष्ट संदर्भ के लिए अपना दृश्य नाम दें (अपने दृश्य मॉडल नाम से "व्यूमोडेल" हटाएं, एक बिंदु जोड़ें, और संदर्भ संपत्ति का मूल्य)।

इसके द्वारा, आप एक दृश्य मॉडल में कई विचारों को भी बाध्य कर सकते हैं।

उदाहरण:

<ContentControl x:Name="Toolbar" cal:View.Model="{Binding ActiveItem}" cal:View.Context="Toolbar" /> 

आप उदाहरण here काम कर (, CoProject नमूना आवेदन से part 9) देख सकते हैं।

+0

उत्तर के लिए धन्यवाद, मेरी परियोजना में बहुत मददगार है। –

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