我試圖使用InvokeOperation從我的ViewModel中的DomainContext獲取布爾值。按鈕異步調用服務器調用完成後IsEnabled綁定
由於對服務器的調用是異步的,包括調用。我需要等待調用完成(即ctx.epidemicContext()。Completed + = [一個事件處理程序])。在invoke complete事件中,我正在回顧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 IsEnabled="{Binding IsChangeLogExist}" Command="{Binding Source={StaticResource ProxyViewModel}, Path=StartChangeLogCommand}" CommandParameter="{Binding}" />
但問題是,當我運行應用程序,按鈕的IsEnabled屬性與IsChangeLogExist的默認值(false)結合,利用了從到期調用的異步操作的domaincontext設置其屬性值。 在調用回調之前調用OnInvokeCompleted,該按鈕的Isenabled屬性已經獲取該值。值總是假的(因爲我們沒有設置值,並且調用調用仍在服務器上)
有人可以建議我在從服務器獲取bool值並將其設置爲OnInvokeCompleted方法後如何綁定按鈕的IsEnabled屬性。