【问题标题】:What is WCF RIA Commanding什么是 WCF RIA 命令
【发布时间】:2011-03-17 02:29:03
【问题描述】:

什么是 WCF RIA 命令?这甚至是正确的名字吗?

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

【问题讨论】:

    标签: wcf mvvm ria


    【解决方案1】:

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

    用于将 ViewModels 中的代码绑定到 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
    }
    

    【讨论】:

    • 所以这段代码将是服务器端附加到实体之一?
    • 本能地我会说 ViewModel 需要是客户端的;就在视图旁边,但我在 RIA 服务方面做得还不够,无法说明在这种情况下是否属实。我发现这篇文章可能会解释更多...silverlightshow.net/items/…
    • 谢谢,我现在明白了。
    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 2015-10-13
    • 2011-02-01
    • 2011-11-15
    • 2011-07-24
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多