什么是 WCF RIA 命令

发布于 2024-10-22 22:30:34 字数 149 浏览 2 评论 0原文

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

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

What is WCF RIA Commanding? Is that even the proper name?

I have a silverlight application in which I want to use command binding to call methods on the webserver; however I'm unsure as to how to go about creating such a class and method so that it can be picked up by RIA and be used in the silverlight XAML; whiout any code behind.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

無心 2024-10-29 22:30:34

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

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

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

示例用法:

在 XAML 中:

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

然后在 ViewModel 中(绑定到视图的 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
}

a 'command' in the context of a Silverlight (or WPF) application is a class that implements the ICommand interface.

It is used to bind code in ViewModels to controls in Views.

Just about all the decent MVVM frameworks contain them (PRISM has DelegateCommand, MvvmLight has RelayCommand, etc) but it's not too hard to write your own...

Example usage:

in XAML:

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

then in the ViewModel (bound to the View's 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
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文