Что такое WCF RIA Commanding - PullRequest
2 голосов
/ 17 марта 2011

Что такое командование WCF RIA? Это даже правильное имя?

У меня есть приложение silverlight, в котором я хочу использовать привязку команд для вызова методов на веб-сервере; однако я не уверен относительно того, как создать такой класс и метод, чтобы он мог быть взят RIA и использован в XAML silverlight; без какого-либо кода позади.

1 Ответ

1 голос
/ 17 марта 2011

'команда' в контексте приложения Silverlight (или WPF) - это класс, который реализует интерфейс ICommand.

Он используется для привязки кода в ViewModels к элементам управления в Views.

Почти все приличные инфраструктуры 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
}
...