我遵循一个非常简单的 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>
预先感谢您的帮助
最佳答案
您需要一个映射到 ViewModels
命名空间的 xml 命名空间。添加后,它将是:
<Window.DataContext>
<vms:MainWindowViewModel />
</Window.DataContext>
(假设您将 vm
映射到适当的命名空间。)
这应该与 local:
当前的命名空间映射类似,但称为 vms:
并指定了适当的命名空间。
关于c# - 在 XAML 中设置 <Window.DataContext>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11041976/