所以我开始研究 Catel MVVM 框架,它看起来可以解决我遇到的几个问题,但我有一个非常愚蠢的问题。我想我只是缺少一些小东西。
我用我的一个较小的 WPF 项目来切换 Catel 作为我学习它的一种方式。我有一个简单的“玩家注册”表格,其中包含姓名和姓氏等字段。我使用 vm 代码片段重新创建了我的原始视图模型,一切都很好,我在文档中阅读了我设置的所有属性和属性。
然后,我将用于“玩家注册”(PlayerRegistrationView) 的 UserControl 更改为 catel:UserControl。我将 PlayerRegistrationView 放在标准的 WPF 窗口上(没有别的,只是视图的 xmlns 和视图作为窗口上唯一的内容,没有属性)
但这是我的问题:
我有一个带有按钮的 MainWindow 来打开播放器注册的窗口。点击事件就是这样:
private void ButtonPlayerClick(object sender, RoutedEventArgs e)
{
var playerRegistration = new PlayerRegistrationDialog
{
Owner = this,
DataContext = new PlayerRegistrationViewModel(),
};
playerRegistration.Show();
}
运行我的程序,然后单击按钮会导致我的 PlayerRegistrationView 上出现 NotSupportedException:无法解析视图的视图模型。使用 GetViewModelType() 方法或 IViewModelLocator
我尝试使 ViewModel 成为窗口上的静态资源并在那里设置数据上下文,但它会产生相同的错误。
我很茫然。我错过了什么?
谢谢