簡體   English   中英

Windows Phone 8.1 MessageDialog結果

[英]Windows Phone 8.1 MessageDialog results

我在從Windows Phone 8.1的MessageDialog中選擇選項時遇到問題。 我要做的是等待用戶選擇選項,然后獲取所選的選項並進行處理。

我這樣做:

... initializing MessageDialog object called dialog ...
answer = (int)dialog.ShowAsync().GetResults().Id

但是, answer變量未分配,因為GetResults立即返回而無需等待用戶操作,並且返回null。

我必須同步獲取結果,因為此代碼在屬性內,更重要的是在catch塊內。

您需要等待任務完成,GetResults才會具有有效結果。 一種簡單的方法是使用await等待對話框完成:

var cmd = await dialog.ShowAsync();
answer = (int)cmd.Id;

您不能在屬性中調用異步函數,也不能阻塞UI線程以使MessageDialog同步。

而是返回一個存根答案並調用另一個函數以獲取異步結果。 當該結果在屬性中可用時,並發出更改通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM