में परिभाषित व्यू मॉडेल में सेट करना मैं नेस्टेड व्यूमोडल्स के साथ एमवीवीएम पैटर्न का उपयोग कर एक एप्लिकेशन बनाने की कोशिश कर रहा हूं। मास्टर व्यूमोडेल शैलव्यू है जिसमें तीन उपयोगकर्ता नियंत्रण शामिल हैं, जिनमें से प्रत्येक अपने स्वयं के व्यूमोडेल के साथ है। ShellView ViewModel में बनाई गई है कोड-पीछे तो जैसे:उपयोगकर्ता नियंत्रण के डेटाकॉन्टेक्स्ट को पेरेंट व्यूमोडेल
public CustomerViewModel CustomerViewModel { get; set; }
public ContactsViewModel ContactsViewModel { get; set; }
मैं UserControls की XAML से इन गुणों कैसे पहुँच सकता हूँ:
public ShellView()
{
InitializeComponent();
_shellViewModel = new ShellViewModel();
DataContext = _shellViewModel;
}
अब, मेरी ShellViewModel गुण के रूप में अन्य ViewModels शामिल? मैं कुछ ऐसा करने में सक्षम होना चाहूंगा:
DataContext="<<ParentWindowViewModel>.CustomerViewModel>
मैं इसे कैसे पूरा कर सकता हूं? मैं पहले से ही करने की कोशिश की:
DataContext="{Binding DataContext.CustomerViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=Window, AncestorLevel=1}, Path=DataContext.CustomerViewModel}">
लेकिन डिबगर कहते हैं, "प्रकार 'वस्तु' की जिसे संदर्भ में संपत्ति 'CustomerViewModel' को हल नहीं कर सकते किसी भी मदद की सराहना की जाएगी