什么是WCF RIA指挥

时间:2011-03-17 02:29:03

标签: wcf mvvm ria

什么是WCF RIA指挥?这甚至是正确的名字?

我有一个silverlight应用程序,其中我想使用命令绑定来调用Web服务器上的方法;但是我不确定如何创建这样的类和方法,以便它可以被RIA选中并用于Silverlight XAML;没有任何代码。

1 个答案:

答案 0 :(得分:1)

Silverlight(或WPF)应用程序上下文中的“命令”是实现ICommand接口的类。

它用于将ViewModel中的代码绑定到Views中的控件。

几乎所有体面的MVVM框架都包含它们(PRISM有DelegateCommand,MvvmLight有RelayCommand等),但编写自己的代码并不太难......

使用示例:

在XAML中

<Button Command="{Binding GetCommand}" Content="Get" />

然后在ViewModel中(绑定到View的DataContext)

public ICommand GetCommand
{
    get
    {
        if (_getCommand == null) _getCommand = new RelayCommand(GetHandler, CanGetPredicate);
        return _getCommand;
    }
}

private void GetHandler()
{
    // Do the work here - call into the server, or whatever.
}

private bool CanGetPredicate()
{
    // work out if it is valid for this to be called or not
    return (someRule == true); // or whatever
}