由於目前的Silverlight for Windows Phone 中不支援ChildWindow,所以當我們想要彈出一些視窗時,只能自己想辦法了。
第一種方法是MessageBox,相當的簡單,當然你也可以給它加上一些樣式。
第二種方法是 查看Silverlight中 ChildWindow的定義方式(推薦使用ILSpy或者Reflector反編譯)
第三種方法是使用Popup控制項類比ChildWindow
第四種方法是使用現有的類庫,如有名的Coding4Fun,裡面有很多很漂亮的Popup(有點類似第三種方法)
第五種方法: It's Up To U !
一、使用MessageBox
這種方式最為簡單,提供的介面也最為簡潔,使用方式如下:
MessageBox.Show("With Caption", "Caption", MessageBoxButton.OKCancel);
MessageBox.Show("Hello Word");
二、使用自訂使用者控制項作為快顯視窗
參考 http://blog.toetapz.com/2010/11/02/how-to-use-popup-or-childwindow-in-windows-phone-to-display-buy-now-screen-2/
http://wildermuth.com/2010/08/17/Using_ChildWindow_in_Windows_Phone_7_Projects
三、使用Popup
原理在頁面中放置一個Popup,將另一個頁面放置其中,參考http://www.cnblogs.com/salam/archive/2010/12/27/1917919.html
四、使用Coding4Fun控制項
CodePlex有一個相當不錯的WP7控制項陳列庫,Coding4Fun,提供了許多訊息提示的控制項:
關於提示框、訊息提示框、Toast提示框、圓形按鈕、 顏色選取器、記憶體計數器等。如何在我們的WP7項目中使用這個控制項呢,很簡單,直接將dll引用到我們的項目中,就能夠使用了。
介紹個使用Coding4Fun控制的時候,如果不知道這個控制項哪些可用,可以使用調試的方法,產生一個該對象的執行個體,如何查看其屬性,如的AboutPrompt 和PasswordInputPrompt
有可以看到,About訊息框可以設定的屬性有Body(內容)、Footor、Title等。
Coding4Fun除了提供訊息框外,還提供了些常見的轉換器(Converters) 、還有TextBox Binding協助類(用於輸入文字框的綁定使用)
五、It's Up To U !
PS:這篇文章放在草稿箱中已經一月有餘,今天抽空稍微整理下就發布了...