设置 在XAML中

问题描述 投票:25回答:1

我遵循了一个非常简单的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>

感谢您的帮助

c# wpf xaml mvvm datacontext
1个回答
72
投票

您将需要一个XML名称空间映射到ViewModels名称空间。一旦添加,它将是:

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

(这是假设您将vms映射到适当的名称空间。]

这应该看起来像您当前为local:命名空间的映射,但是在指定了适当的命名空间的情况下称为vms:

© www.soinside.com 2019 - 2024. All rights reserved.