这个 ICommand 属性 是如何工作的?
How does this ICommand property work?
我将不胜感激以下代码的帮助:
public static ICommand AddNewRecord { get; set; }
以上代码在 WPF 应用程序的 App.xaml.cs 文件中。我不明白的是:如果我是正确的,则无法实例化接口。那么上面的属性有什么作用呢?
这是使用上述 属性 的代码(如果是这样的话):
AddNewRecord = new RCommand<IEnumerable>(list =>
{
var elementType = list.GetType().GetGenericArguments()[0];
// More code I can't disclose.
}, list => list != null);
我不能随意提供整个代码段。
RCommand<IEnumerable>
是实现 ICommand
接口的具体类型,您可以将 ICommand
属性 设置为实现 ICommand
接口的任何类型.
所以代码基本上创建了一个 RCommand<IEnumerable>
并将 AddNewRecord
属性 设置给它。
RCommand<IEnumerable>
class 反过来似乎接受一个 Action<IEnumerable>
,它在执行命令时被调用,一个 Predicate<IEnumerable>
将从 CanExecute
命令的方法。
我将不胜感激以下代码的帮助:
public static ICommand AddNewRecord { get; set; }
以上代码在 WPF 应用程序的 App.xaml.cs 文件中。我不明白的是:如果我是正确的,则无法实例化接口。那么上面的属性有什么作用呢?
这是使用上述 属性 的代码(如果是这样的话):
AddNewRecord = new RCommand<IEnumerable>(list =>
{
var elementType = list.GetType().GetGenericArguments()[0];
// More code I can't disclose.
}, list => list != null);
我不能随意提供整个代码段。
RCommand<IEnumerable>
是实现 ICommand
接口的具体类型,您可以将 ICommand
属性 设置为实现 ICommand
接口的任何类型.
所以代码基本上创建了一个 RCommand<IEnumerable>
并将 AddNewRecord
属性 设置给它。
RCommand<IEnumerable>
class 反过来似乎接受一个 Action<IEnumerable>
,它在执行命令时被调用,一个 Predicate<IEnumerable>
将从 CanExecute
命令的方法。