手把手玩轉win8開發系列課程(18)

2022-02-09 13:51:51 字數 958 閱讀 5922

這節,加入彈出對話方塊

彈出對話方塊

這裡我說說專案以外popup的問題。

popup是乙個神奇的東西,可以很容易的解決一些複雜問題。它將控制項的布局擴充套件到了第三維,可以將其child中的內容顯示在當前介面之上。popup位於當前silverlight可見控制項區域之上,即使你為某個控制項設定了乙個比popuo要大的canvas.zindex值也不會顯示在popup之上,不過popup之間可以用canvas.zindex區分哪個popup顯示在上面。還有一點,popup的child中的事件冒泡已經自己處理了,就好像popup與下面的所有控制項沒有關係一樣。

在實際應用中,有乙個約定俗成的操作,就是彈出乙個popup後在popup可見區域外的任意地方點選,popup會自動關閉,而popup本身是沒有實現這個功能的。具體如何實現,這方案也有很多,下面是比較常用的方法:在要顯示的內容下面放乙個背景透明且覆蓋整個silverlight可見區域的canvas,在canvas的點選事件處理方法中關閉popup。之所以選擇canvas是因為在布局方式中只有canvas在背景透明時可以偵測到點選事件

1

2<

popup

x:name

=「popup」

opened

=「popup_opened」>

3=「overlay」

background

=「transparent」

mouseleftbuttondown

=「overlay_mouseleftbuttondown」>

4=「popcontent」

width

=「200″

height

=「200″

fill

=「aliceblue」/>

5>

6popup

>

噥——對popup有了乙個簡單介紹。

手把手玩轉win8開發系列課程(20)

這節,我們的任務很簡單。使其flyout使用者能夠完成一定動作。為使用者控制項編碼 上節,我說到過,使用者控制項是由源 檔案的。所以,homezipcodeflyout這個使用者控制項源 如下 1 using windows.ui.xaml 2 using windows.ui.xaml.contr...

手把手玩轉win8開發系列課程(24)

我們這節有兩個議題 建立另外的檢視 測試導航程式 1 建立另外的檢視 現在,我需要的做的事情就是新增另乙個頁面來完善這個程式。這個頁面名字叫做detailpage,他的源 如圖所示 1 page 2x class metrogrocer.pages.detailpage 3xmlns 4xmlns ...

手把手玩轉win8開發系列課程(25)

徹底支援metro 布局 1 page 2x class metrogrocer.pages.detailpage 3xmlns 4xmlns x 5xmlns local using metrogrocer.pages 6xmlns d 7xmlns mc 8mc ignorable d 9 gr...