我正在创建一个简单的 WPF 应用程序,用于使用 Observable 集合(遵循 MVVM 模式)将 Datagrid 数据绑定到数据库。
App.xaml.cs 类
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var mainWindow = new MainWindow();
var viewModel = new MainViewModel();
mainWindow.Show();
}
}
当我尝试将其绑定到我的 XAML 时,出现以下错误:
无法创建“MainViewModel”的实例
XAML 代码:
<Window x:Class="MVVM_DemoAppl.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ViewModel="clr-namespace:MVVM_DemoAppl.ViewModels"
Title="MainWindow" Height="350" Width="525">
<!-- The error is raised here -->
<Window.DataContext>
<ViewModel:MainViewModel/>
</Window.DataContext>
如何克服这个错误?谢谢。
PS:我在MSDN 论坛上发布了同样的问题,但我的整个代码,请看一下更好的理解。
根据用户的建议,我是否必须以这种方式保留我的 OnStartup() ?
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
}