我是 C# 新手,这是我的第一个 WPF 项目。我正在关注本教程(使用他们的 RelayCommand 实现并尝试使用 MVVM。我正在实现标准 Windows 计算器的克隆。我想找到一种方法来对类似按钮的功能进行分组,因为我正在做的事情似乎很笨拙。
例如,这是我的三个按钮的 XAML
<Button Content="_7" Focusable ="False" Command="{Binding Seven}" Style="{DynamicResource NumberButton}" Margin="0,134,184,129"/>
<Button Content="_8" Focusable ="False" Command="{Binding Eight}" Style="{DynamicResource NumberButton}" Margin="46,134,138,129"/>
<Button Content="_9" Focusable ="False" Command="{Binding Nine}" Style="{DynamicResource NumberButton}" Margin="92,134,92,129"/>
这是那些的 ICommands:
public ICommand Nine { get { return new RelayCommand(NineExecute); } }
public ICommand Eight { get { return new RelayCommand(EightExecute); } }
public ICommand Seven { get { return new RelayCommand(SevenExecute); } }
和方法:
void NineExecute()
{
NumberPressed("9");
}
void EightExecute()
{
NumberPressed("8");
}
void SevenExecute()
{
NumberPressed("7");
}
为了将类似的功能按钮(例如数字)分组到一个 ICommand 中,我应该调查什么,使用一个可以确定发送者的方法 - 同时仍然没有将代码放在 Window 类中,正如文章所警告的那样。