什么是WCF RIA指挥?这甚至是正确的名字?
我有一个silverlight应用程序,其中我想使用命令绑定来调用Web服务器上的方法;但是我不确定如何创建这样的类和方法,以便它可以被RIA选中并用于Silverlight XAML;没有任何代码。
答案 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
}