चकजे के साथ सहमत - आम तौर पर डोमेनकॉन्टेक्स्ट दृश्य मॉडल का हिस्सा बनता है। उदाहरण के लिए, कहें कि मेरे पास एक खोज पृष्ठ था जिसने उत्पाद सूची के विरुद्ध खोज की अनुमति दी थी।
class Catalog : DomainService {
IQueryable<Product> GetProducts(string keyword) { ... }
}
उत्पन्न DomainContext:
सर्वर पर:
class Catalog : DomainContext {
EntityList<Product> Products { get; }
void LoadProducts(string keyword);
}
दृश्य मॉडल मैं लिखने होगा: यहाँ कैसे मैं चीजों की संरचना होता है
class SearchViewModel {
Catalog _catalog = new Catalog();
public IEnumerable<Product> Results {
get { return _catalog.Products; }
}
public void Search(string keyword) {
_catalog.Products.Clear();
_catalog.LoadProducts(keyword);
}
}
और फिर आखिर में मेरे एक्सएमएल में, मैं अपने UserControl के DataContext को SearchViewModel का उदाहरण बनने के लिए सेट करता था, और एक आइटमकंटर बांधता था परिणाम संपत्ति के लिए ओएल। मैं एक बटन को बाध्य करने के लिए अपनी पसंद के व्यूमोडेल पैटर्न का उपयोग करना चाहता हूं (जो प्रभावी रूप से एक कमांड है जो SearchViewModel खुलासा करता है)।
<Button Content="Search"
fxui:Interaction.ClickAction="$model.Search(keywordTextBox.Text)" />
और के रूप में शुरू here दिखाया गया है: मैं व्यक्तिगत रूप से कुछ है कि मैं के रूप में Silverlight.FX के साथ काम किया है की तरह है।
चक का उल्लेख है कि मेरे पास वास्तव में मेरे दृश्य मॉडल में अन्य राज्य हो सकता है, उदाहरण के लिए, चयनित उत्पाद जो मेरे xaml में लिस्टबॉक्स के चयनित इटैम से दो-तरफा हो सकता है, और फिर उसी चयनित उत्पाद को डेटाकॉन्टेक्स्ट के रूप में बांध सकता है एक चयनित उत्पाद के विवरण दिखाने के लिए एक डेटाफॉर्म।
आशा है कि मदद करता है! मैं इसके बारे में कुछ और blog पर जल्द ही ब्लॉगिंग करूँगा।
स्रोत
2009-04-18 20:33:57
पिछले हफ्ते में कुछ विचारों के बाद मुझे लगता है कि मैं यही सोच रहा था। DomianContext पूर्ण ViewModel नहीं है लेकिन इसका एक हिस्सा है।डोमेन सेवा (जैसे [आवश्यक]) के मेटाडेटा टाइप में परिभाषित गुणों को व्यूमोडेल में फिर से देखना होगा या तथ्य यह है कि डोमेन कॉन्टेक्स्ट सत्यापन इंजन द्वारा पिकअप के लिए पर्याप्त व्यूमोडेल का हिस्सा है? –
विषय के निखिल के ब्लॉग पोस्ट के लिए लिंक: http://www.nikhilk.net/Entry.aspx?id=229 –
[आवश्यक] आदि मेटाडाटा गुण इकाई प्रकार पर कर रहे हैं - दृश्य ही मॉडल पर नहीं। यदि आप दृश्य मॉडल से उदाहरण के उदाहरण का पर्दाफाश करते हैं तो वे उठाए जाएंगे (उदाहरण के लिए उपरोक्त दृश्य मॉडल नमूने में उत्पाद)। –