में दृश्य में व्यूमोडेल को हुक अप करना मैं व्यूमोडेल को दृश्य में जोड़ने के दो तरीके देख सकता हूं। एक एक्सएएमएल में है और दूसरा कोड के पीछे निर्भरता इंजेक्शन के माध्यम से है।सिल्वरलाइट
कौन सी विधि अधिक बेहतर है? मैं xaml विधि पसंद करता हूं क्योंकि मुझे कोड में किसी भी कोड को पीछे नहीं चाहिए, लेकिन क्या एक दूसरे के साथ कोई समस्या है?
<navigation:Page x:Class="MyNamespace.MyViewModel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ViewModel="clr-namespace:MyNameSpace.MyViewModel"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
Title="ViewModel Page" >
<navigation:Page.Resources>
<ViewModel:MyViewModel x:Key="ViewModel"></ViewModel:MyViewModel>
</navigation:Page.Resources>
<Grid x:Name="LayoutRoot" Background="White"
DataContext="{StaticResource ViewModel}">
</Grid>
</navigation:Page>
या
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
namespace MyNamespace
{
public partial class MyView : Page
{
public MyView()
{
InitializeComponent(MyViewModel viewModel);
this.DataContext = viewModel;
}
}
}
हम्म .. लिंक के लिए धन्यवाद। मैं इसे अभी पढ़ रहा हूँ। मुझे लगता है कि मुझे इसे कुछ और बार पढ़ने की जरूरत है क्योंकि मुझे कुछ नहीं मिल रहा है। शॉन कहते हैं, "इन दोनों तरीकों से मुझे दृश्य-दृश्य के दृश्य के चिपचिपापन को पसंद नहीं करना पड़ेगा। इसके अलावा, इनमें से दोनों एक-से-एक रिश्ते को दर्शाते हैं, जबकि आम मामला हमेशा मामला नहीं है । " लेकिन व्यू-फर्स्ट के साथ कई विचार एक वीएम के लिए डेटाबेस हो सकते हैं। क्या एक दृश्य एक से अधिक वीएम तक सीमित हो सकता है? हमम .. फिर, मुझे लगता है कि यदि आपका वी एक साधारण ग्रिड था तो यह अलग-अलग वीएम से बंधे रहना चाहता था। –
अब तक, मैं वीएस और वीएम के बीच एक-से-एक संबंध रखने का प्रशंसक हूं। जिसका मतलब यह नहीं है कि मैं पदानुक्रम के खिलाफ हूं। यही है, एक दृश्य में अपने स्वयं के वीएम के साथ प्रत्येक उप-विचार हो सकते हैं, और यह काफी अच्छी तरह से काम करने लग रहा है। –
हमारे आवेदन में हमारे पास एक मानक ग्रिड व्यू है जो केवल डेटा की पंक्तियां प्रदर्शित करता है। वह डेटा विभिन्न व्यू मॉडल्स से हो सकता है, इसलिए इसे एक से एक में रखना हमारे लिए समझ में नहीं आता है। एकाधिक ग्रिड दृश्य होने में कोई बिंदु नहीं है जब वे डेटा के अलावा सभी समान हैं। –