【发布时间】:2013-06-04 00:08:03
【问题描述】:
据我所知,下面的代码可以从 Relay/ICommand Command 更改为 Delegate 命令,并且仍然以相同的方式绑定命令!如果我错了,它们的区别和用途是什么。
private DelegateCommand something;
public DelegateCommand Something
这是完整的实现
private RelayCommand something;
public ICommand Something
{
get
{
if (something == null)
something = new RelayCommand(SomethingMethod, CanSomething);
return something;
}
}
private bool CanSomething(object parameter)
{
//just for readability return true
return true;
}
private void SomethingMethod(object parameter)
{
using (DatabaseContext context = new DatabaseContext())
{
try { }
catch(Exception ex)
{
throw new ApplicationException(string.Format("Something {0} to {1}", file, directory), ex);
}
}
}
【问题讨论】:
-
您使用哪些框架来获取您的
RelayCommand和DelegateCommand实现? -
我认为它们只是实现 WPF 命令的 ICommand 接口。它们被不同的框架使用。你也应该看看这里stackoverflow.com/questions/14180688/…
-
@Reed 框架是4.0
-
@KeyboardFriendly 您使用什么库/参考。这些类型不是 .NET Framework 的一部分,它们是第三方 MVVM“框架”(库)的一部分。
-
抱歉,正在使用 NuGet 检查新的 MVVM。