我刚开始使用WPF,并尝试使用MVVM方法(下面的this伟大的文章)。将命令传递给其他类
我有一个中央管理器类,所有视图模型都需要与之交互。我实现了这个使用一个单独的,所以我有我的单例类:
public class FakeManager
{
private FakeManager() {}
static FakeManager instance;
public static FakeManager Instance
{
get { return instance ?? (instance = new FakeManager()); }
}
...
}
在我看来,型号我这个互动就像这样:
public ICommand TriggerChannelChange
{
get
{
return new RelayCommand(() => FakeManager.Instance.SetupChangeRequest(_hardwareItem),() => true);
}
}
我的问题是 - 有没有更好的办法?我知道在WPF中通常用于在ViewModels之间发送消息的事件中介模式,在这里会更好吗?我想我所做的事情是我与FakeManager紧密结合的事实,再加上它感觉有点笨拙。
感谢
属性获取器中的“return new”听起来总是对我不利 – blindmeis
Hi @blindmeis。你的意思是ICommand?这在我见过的MVVM实现中似乎是非常标准的。为了发送命令,我认为它很好。 –
又增加了一条评论re:这回答如下 –