2012-08-28 11 views
0

我最近开始学习MVVM,并已经学会了如何绑定/使用命令/通知属性。我正在创建一个计算器,并想知道我的类结构是否适合MVVM并正确使用WPF。MVVM的类结构和布局计算器项目

  • CaculatorProject - 具有10个按钮(0-9),4个按钮(+, - , -/+),和1个文本框

  • 视图 - 包含的Xaml

  • 视图模型 - 14 ICommands每个按钮,属性为模型,和4个私人Math方法

  • 模型 - 私有变量为当前/先前/结果值与INotifyChanged属性

这是否看起来是正确的?或者我在错误的部分有东西?

+1

你也许并不需要14 I-命令,我会做2和传递参数,每个(像数和操作)。 –

+0

@KDiTraglia你有一个很好的教程,如何做到这一点?我从搜索结果中看到的所有内容都不会点击。 – timmy

回答

1

您可以混为一谈许多人到一个单一的I-命令需要一个参数削减了不少你的I-命令。例如:

<Button Command="YourCommand" 
     CommandParameter="1" 
     Content="1" /> 
<Button Command="YourCommand" 
     CommandParameter="2" 
     Content="2" /> 
private void YourCommand_Executed(object sender, ExecutedRoutedEventArgs e) 
{ 
    PrintToScreen(e.Parameter.ToString()); 
}