这个问题很简单,但我无法准确掌握如何去做。
我决定使用 WPF,但我不想以经典的方式实现一些 MVVM 模式。
在我的项目中,我决定使用 INPC 创建我的模型,并将它们用作我的 XAML 的提要,就好像它们也是 View-Model 一样。所以而不是:
View(<-Binding->)View-Model(<- INPC->)型号
我设计的是:
View(<-Binding->)Model。
当然,约束是模型必须实现 INPC,但是与实践中的经典 MVVM 相比 - 模型也需要实现 INPC - 所以我发现我的这完全可以作为 DRY 原则指导的高效快捷方式。
我也想支持命令,我喜欢命令的概念,并且我了解在使用视图模型时如何实现命令。但是正如我所描述的,我决定跳过视图模型。
因此,如果我将命令编写如下:
public class MyCommand : ICommand
{
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
//do somthing
}
public bool CanExecute(object parameter)
{
return true;
}
}
我的 XAML 看起来像这样:
<UserControl x:Class=... blah blah...
xmlns:Model="clr-namespace:MyProject.BusinessLogic.Person"
xmlns:Commands="clr-namespace:MyProject.Commands">
<TextBox Text="{Binding FirstName}" />
<Button Command="What do I put here?" />
<UserControl>
那么,我应该在按钮命令中添加什么以允许它调用 MyCommand(不在模型中)?