[開發] 在APP中共用應用程式列

看板WindowsPhone作者 (WildDagger)時間12年前 (2014/06/05 22:30), 12年前編輯推噓20(2000)
留言20則, 20人參與, 最新討論串1/1
這個問題Win8.1才會碰到,WP因為不支援上方應用程式列所以應該是沒機會 (這是真的,開發文件已經說你要是在Page有定義上方應用程式列就會閃退給你看) 有看微軟的開發文件,應該都會看到微軟有在文件中提到, 上方應用程式列應該要能夠擔當導覽列的功能 (亦即我們常在網站上看到的那一排指示網站主要功能的功能列) 在這前提下,自然每一頁都要有上方應用程式列, 不過如果你的頁面多達十數個 (這是誇張化,實際上有善用資料綁定的話應該不可能超過十頁吧) 每一頁都要建同樣的應用程式列與觸發事件也許太不實際了 最好的方法,當然是讓所有頁面共用一個應用程式列就好 微軟的官方網站上也有給教學: http://msdn.microsoft.com/zh-tw/library/windows/apps/xaml/jj150604.aspx 不過如果只給這個的話某程度上是在騙文章數(喂 所以這邊是稍微做補遺還有提示可以善用的方向 簡單來說,就是在首頁裡面再加上一層Frame, 然後在這個Frame裡面顯示APP的其他內容, 至於應用程式列就直接定義在首頁中,這樣子就可以達到共用的效果 如果感覺有點難理解的話,只要把Frame元件想像成HTML的Iframe標籤 或者甚至當成你的瀏覽器中顯示內容的那個區塊 (簡單說設在首頁的應用程式列相當於瀏覽器的工作列, 其他頁面就相當於呈現在瀏覽器內容框中的網頁) (其實在Clark大與Ian大寫的《HTML5 & JavaScript程式開發實戰》這本書中 就有提到類似的概念,不過因為裡面是用HTML5寫Win8 APP所以可能比較不好懂) 至於關於那篇教學的部分,這邊做一點補充 1. 按照教學在Grid裡面建立rootFrame這個Frame元件後, 實際上打開是不會有反應的,你必須自己讓rootFrame去導覽到真正的首頁才行 這邊先假設真正首頁的名字是DefaultPage.xaml, 那麼程式碼如下: protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // (這句有沒有都無所謂) rootFrame.Navigate(typeof(DefaultPage)); } 雖然可能有些文件會告訴你Frame.Navigate這個方法 在OnNavigatedTo/OnNavigatedFrom這兩個事件中是不會作用的 但那是指於這兩個事件中在該文件所在的頁框中呼叫該頁框的Navigate方法, 該頁框不會有任何反應這件事 這段程式碼不是去呼叫首頁所在頁框中的Navigate方法 而是去呼叫首頁中的Frame的Navigate方法,因此這個方法會有效 另外傳送參數的方法和普通的巡覽頁面是相同的,請放在Navigate方法的第二個參數。 2. 範例中是呼叫GetType的方法去取得頁面物件並進行巡覽方法, 但是我實際使用的時候不知道是哪裡漏了,GetType方法抓不到子命名空間中的頁面 所以最後我只好直接用判斷按鈕Name/Tag的方式 如果沒有什麼特大問題的話其實用if判斷式或switch判斷式也無妨 這個方法主要是使用在Win8.1上, 不過如果有用Universal App的話,其實也能考慮用這個方法 在Win8.1的環境下把導覽之類的交給上方導覽列 在WP8.1的環境下可以直接用手機上的巡覽功能做處理 這樣就有更多東西可以共用了。 (剛才才終於把捷運APP用的資料編輯程式給寫好......有點頭痛) -- (本文已被刪除) [M ] (本文已被刪除) [ r ] (本文已被刪除) [ T ] (本文已被刪除) [ T ] (本文已被刪除) [ T ] (本文已被刪除) [ T ] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.107.221 ※ 文章網址: http://www.ptt.cc/bbs/WindowsPhone/M.1401978604.A.8E6.html ※ 編輯: hoyunxian (111.250.107.221), 06/05/2014 22:45:15

06/05 23:05, , 1F
推推
06/05 23:05, 1F

06/05 23:44, , 2F
恩,原來如此…
06/05 23:44, 2F

06/06 00:12, , 3F
看不懂 不過還是推
06/06 00:12, 3F

06/06 00:21, , 4F
中共
06/06 00:21, 4F

06/06 00:26, , 5F
看成中共+1...
06/06 00:26, 5F

06/06 00:36, , 6F
中共+1
06/06 00:36, 6F

06/06 00:38, , 7F
推 當時自己慢慢查了好久
06/06 00:38, 7F

06/06 01:36, , 8F
看成中共+1
06/06 01:36, 8F

06/06 09:22, , 9F
推 中共
06/06 09:22, 9F

06/06 09:29, , 10F
在App,中共用應用程式列
06/06 09:29, 10F

06/06 09:40, , 11F
專業推。看成中共用應用程式+1。
06/06 09:40, 11F

06/06 09:55, , 12F
看成中共用應用程式+1
06/06 09:55, 12F
你們也夠了(囧) ※ 編輯: hoyunxian (111.250.107.221), 06/06/2014 12:00:44

06/06 14:29, , 13F
中共再+1
06/06 14:29, 13F

06/06 19:19, , 14F
看成在中共用APP...
06/06 19:19, 14F

06/06 20:17, , 15F
中共..
06/06 20:17, 15F

06/06 22:05, , 16F
什麼?中共?退回服貿 捍衛民主
06/06 22:05, 16F

06/07 00:18, , 17F
看成中共+1
06/07 00:18, 17F

06/07 01:09, , 18F
還沒注意過這個部分..先推好了..
06/07 01:09, 18F

06/07 15:26, , 19F
看成中共+1 想說是關鍵字封鎖app之類的
06/07 15:26, 19F

06/17 15:23, , 20F
中共+1
06/17 15:23, 20F
文章代碼(AID): #1Ja7xiZc (WindowsPhone)
文章代碼(AID): #1Ja7xiZc (WindowsPhone)