在XAML中设置<window.datacontext> </window.datacontext>

时间:2012-06-14 22:01:48

标签: wpf mvvm datacontext

我按照一个非常简单的MVVM示例作为我的程序的基础。作者在主页面中使用了一个代码后面的代码来设置DataContext。我想我应该能够在XAML中做到这一点。 MainWindowViewModel位于ViewModels目录中。工程背后的代码。

namespace RDLfromSP
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = new ViewModels.MainWindowViewModel();
        }
    }
}

我似乎无法在XAML

中找到正确的组合来设置它
<Window x:Class="RDLfromSP.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="300" Width="300" > 

    <Window.DataContext>
        <local:ViewModels.MainWindowViewModel />
    </Window.DataContext>

提前感谢您的帮助

1 个答案:

答案 0 :(得分:67)

您需要一个映射到ViewModels命名空间的xml命名空间。添加后,它将是:

<Window.DataContext>
    <vms:MainWindowViewModel />
</Window.DataContext>

(假设您将vms映射到适当的命名空间。)

这看起来应该与local:的当前命名空间映射类似,但调用vms:并指定了相应的命名空间。