我正在尝试使用我的viewmodel作为我的窗口的datacontext但是我收到了错误:
Windows Presentation Foundation(WPF)项目不支持ViewModel。
显然,我不了解语法并将我的窗口数据绑定到我的视图模型,但我不确定我不知道它是什么。
有关我应该阅读的内容的任何建议?
<Window x:Class="SunnyBeam.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SunnyBeam" Height="488.358" Width="1014.552">
<Window.DataContext>
<ViewModel/>
</Window.DataContext>
<Grid>
</Grid>
</Window>
答案 0 :(得分:1)
通常我通过代码隐藏设置DataContext:
public partial class Flor1 : Window
{
public Flor1()
{
var dc = new MyViewModel();
dc.LoadData();
DataContext = dc;
InitializeComponent();
}
}
代替MyViewModel可能是您要绑定的任何内容。
答案 1 :(得分:1)
定义类
public class ViewModel
{
public string Name { get; set; }
public ViewModel()
{
}
}
在xaml中使用
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:WpfApplication2"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<ui:ViewModel/>
</Window.DataContext>
<Grid>
</Grid>
它应该有用。
答案 2 :(得分:0)
我以为我会用这个错误来总结我的经验。
我的数据上下文设置与下面相同,并不断出现一个错误,即ViewModel不存在,我知道确实如此。我拒绝在后面的代码中设置它,只是重建我的项目实际上可以解决此错误。
<Window.DataContext>
<ViewModel/>
</Window.DataContext>