में अन्य व्यूमोडल्स में प्रॉपर्टी एक्सेस करना मेरे पास मुख्य ViewModel
है जिसमें मैं UserControls
की एक निश्चित राशि में उपयोग कर रहा हूं, जो मुख्य दृश्य पर ContentControl
में प्रदर्शित होते हैं। ViewModels
के बीच डेटा का आदान-प्रदान करने का मेरा वर्तमान तरीका मुख्य ViewModel
में ViewModels
में से प्रत्येक का संदर्भ बनाने के लिए मौजूद है, और प्रत्येक UserControl
में मुख्य ViewModel
में से एक का संदर्भ है। हालांकि मुझे नहीं पता कि यह करने का यह सही तरीका है, क्योंकि मेरे पास ViewModelLocator
है और मुझे उम्मीद है कि इस वर्ग में कुछ ऐसा करने के लिए कुछ कार्यक्षमता होगी।एमवीवीएम लाइट
क्या कोई मुझे बता सकता है कि मैं यह ठीक कर रहा हूं, या यदि एमवीवीएम लाइट में ऐसा करने का बेहतर तरीका है?
संपादित करें:
मैं इस पाया जब मैं कुछ अलग के लिए खोज रहा था, यह एक बेहतर समाधान हो सकता है?
private ViewModelLocator locator = new ViewModelLocator();
और फिर प्रत्येक व्यूमोडेल को संदर्भित करने के लिए लोकेटर गुणों का उपयोग करना?
EDIT2:
मैं जाहिरा तौर पर क्या काम करेगा नहीं, पहली बार में मैं केवल संदर्भ मुख्य ViewModel
में था करता है सोचा है और इस काम किया, लेकिन जब मैं UserControls
में यह कोशिश यह एक तरह से मेरी अनुप्रयोग क्रैश हो। मैं वर्तमान में पहले संपादन के संभावित समाधान की कोशिश कर रहा हूं।
MainViewModel.cs (दूसरों के केवल मुख्य ViewModel के संदर्भ में, इसी तरह के हैं)
public class MainViewModel : ViewModelBase
{
private ItemAddViewModel itemAddViewModel;
private ItemsViewModel itemsViewModel;
/// <summary>
/// Initializes a new instance of the MainViewModel class.
/// </summary>
public MainViewModel()
{
ItemsList = Item.GetItemsList();
itemAddViewModel = ServiceLocator.Current.GetInstance<ItemAddViewModel>();
itemsViewModel = ServiceLocator.Current.GetInstance<ItemsViewModel>();
ShowItemsView();
}
...
private void ShowItemsView()
{
CurrentControl = itemsViewModel;
}
...
हाँ आप सही हैं, मैंने अभी इसका परीक्षण किया है और यह काम करता है, जैसा कि विस्तृत समाधान के लिए धन्यवाद, इसकी बहुत सराहना की गई है! :) – Kryptoxx
मुझे खुशी है कि यह मदद की :)। और आप निश्चित रूप से अधिक परिष्कृत आईओसी कंटेनर का उपयोग कर सकते हैं, जो आपको सिंगलटन व्यूमोडल्स और कन्स्ट्रक्टर निर्भरता इंजेक्शन की तुलना में अधिक युक्तियां करने देता है। सरल आईओसी बस सरल है ... – eMko