在windows 8 modern介面應用程式中 ,已然沒有了我們過去很熟悉的messagebox,那麼,如果我們需要彈出提示框怎麼辦呢?
因此,我們先來認識乙個類——messagedialog(位於windows.ui.popups命名空間)。對的,看名字估計也能猜個七八成了,我們正是要使用該類來顯示彈出對話方塊。
第一步,先new乙個messagedialog例項;
第二步,向commands集合新增若干個uicommand,至少乙個,最多三個,膽子大的話,你可以試試新增四個。這個uicommand就是對話方塊上顯示的按鈕,就像我們過去在傳統windows下的訊息框一樣,至少乙個按鈕,也可能兩個,或者三個。
第四步,顯示訊息框。
光看文字是有些抽象的,這樣吧,下面我們來用例項來說明。
1、啟動vs,新建乙個空白頁面的應用程式。
2、在mainpage.xaml中宣告三個按鈕,分別用來顯示帶有乙個,兩個,三個按鈕的彈出框。
3、分別在三個按鈕的click事件上右擊,從彈出的選單中選擇「定位到事件處理程式」,這樣在**中會自動生成事件處理方法。
4、開啟**檔案,引入以下命名空間。
using windows.ui.popups;
5、處理上面三個click事件。
private async void onokclick(object sender, routedeventargs e)
private async void onyesnoclick(object sender, routedeventargs e)
private async void onthirdclick(object sender, routedeventargs e)
async void onuicommand(iuicommand cmd));}
在例項化uicommand時,我們使用了以下建構函式。
public uicommand(string label, uicommandinvokedhandler action);
指定乙個與uicommandinvokedhandler委託繫結的方法,這樣,當某個uicommand被使用者單擊後,會呼叫uicommandinvokedhandler繫結的對應方法,在本例中,所有uicommand都繫結到同乙個方法。
此外,messagedialog有兩個屬性應當注意一下:
1、cancelcommandindex:預設「取消」按鈕的索引,這個索引是對應於commands中新增的uicommand的索引,從0開始,按新增順序,第乙個uicommand的索引為0,第二個uicommand的索引為1,第三個為2,依此類推(當然,最多就只有三個,索引2)。假如cancelcommandindex屬性設定了1,那麼,訊息框中的第二個按鈕就是預設的「取消」命令,只要按下esc鍵就能觸發。
2、defaultcommandindex:預設「確定」指令的索引,例如設定為0,即commands中第乙個按鈕為預設命令,只要按下回車鍵就能觸發。
要顯示messagedialog,呼叫showasync方法,注意這個方法是非同步方法,要用await關鍵字(c# 5.0),同時,凡是呼叫了非同步方法並加有await關鍵字的方法,在定義時還要加上async關鍵字。
現在,我們可以執行應用程式。
新時尚Windows8開發(6) 資源 本地化
老周的部落格專欄 在實際開發中,也許我們需要做這樣的介面,可分為兩種情況 1 應用程式具備多語言版本 如中文簡體,中文繁體,英文等 使用者介面上顯示的文字會根據系統的情況自動套用資源,比如我的系統是簡體中文版的,那就使用簡體中文的資源檔案中的內容。2 使用者可以選擇語言如簡體中文 正體中文。根據使用...
Windows 8 應用開發 磁貼
原文 我們開發的應用在win8 介面中會以磁貼形式展現,預設情況下磁貼會顯示應用圖示,即專案工程中的logo.png檔案。開發人員可按應用的需要使用通知的方式將文字或資訊推送到磁貼,從而對磁貼中顯示的內容進行更換。對於磁貼通知推送主要用到api 是windows.ui.notifications,a...
Windows 8 應用開發 磁貼
我們開發的應用在win8 介面中會以磁貼形式展現,預設情況下磁貼會顯示應用圖示,即專案工程中的logo.png檔案。開發人員可按應用的需要使用通知的方式將文字或資訊推送到磁貼,從而對磁貼中顯示的內容進行更換。對於磁貼通知推送主要用到api 是windows.ui.notifications,api ...