【发布时间】:2009-06-11 17:26:53
【问题描述】:
我可以看到两种将 ViewModel 连接到 View 的方法。一个在 XAML 中,另一个通过依赖注入在后面的代码中。
哪种方法更可取?我更喜欢 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;
}
}
}
【问题讨论】:
标签: c# silverlight mvvm