Я попытался использовать InvokeOperation для получения логического значения из DomainContext в моей модели ViewModel.кнопка привязка IsEnabled после завершения асинхронного вызова вызова на сервер
Как вызовы сервера асинхронны, в том числе вызовы. Мне нужно дождаться завершения вызова (т. Е. Ctx.epidemicContext(). Завершено + = [обработчик событий]). И в вызове complete event я возвращаю значение bool и устанавливаю свойство.
_context.IsChangeLogStarted(OnInvokeCompleted, null);
// OnInvoke комплект свойство
private void OnInvokeCompleted(InvokeOperation<bool> invOp)
{
IsChangeLogExist = invOp.Value;
}
// Свойство
public bool IsChangeLogExist
{
get { return this._IsChangeLogExist; }
set { this._IsChangeLogExist = value; }
}
И на мой взгляд, я пытаюсь связать "IsChangeLogExist", чтобы IsEnabled свойство Button , // Просмотр
<Button IsEnabled="{Binding IsChangeLogExist}" Command="{Binding Source={StaticResource ProxyViewModel}, Path=StartChangeLogCommand}" CommandParameter="{Binding}" />
Но проблема в том, когда я запустить приложение, IsEnabled свойство Button является обязательным со значением по умолчанию (ложь) в IsChangeLogExist, с изложением его значение свойства из DomainContext из-за асинхронной операции ВЫЗОВ в. перед вызовом callback вызывает OnInvokeCompleted, свойство Isenabled кнопки уже получает значение. значение всегда неверно (поскольку мы не устанавливаем значение, а вызов вызова по-прежнему находится на сервере)
Может кто-нибудь предложить мне, как связать свойство IsEnabled кнопки после получения значения bool с сервера и установить его в методе OnInvokeCompleted ,