天天看點

Windows Phone 7的Pivot(樞軸視圖)控件簡介

本文簡單介紹Pivot(樞軸視圖)控件,通過本文的介紹可以對Pivot的使用和效果有個初步的認識。

概述

樞軸(Pivot)控件提供了一種快捷的方式來管理應用中的視圖或頁面。樞軸視圖可以用來過濾資料,将視圖分類。樞軸視圖控件水準放置獨立的視圖,同時處理左側和右側的導航,可以通過劃動或者平移手勢來切換樞軸控件中的視圖。Pivot預設就支援了手勢,不需要我們做任何工作。

它的外觀如下圖所示:

Windows Phone 7的Pivot(樞軸視圖)控件簡介

該圖展示了一個有三個頁面的樞軸視圖,可以通過劃動和平移手勢切換頁面,向左劃動,就由目前頁面(例如Item1)切換到下一個頁面(Item2),如果切換到最後一個頁面,同樣操作會回到第一個頁面,也就是說,樞軸視圖的頁面是循環的。另外也可以點選Item的标題來切換,在Item1中,點選其後面并列的灰色的item2或item3(它隻顯示了一部分),就可以切換到相應頁面。

頁面結構

Windows Phone 7的Pivot(樞軸視圖)控件簡介

上圖紅色區域就是Pivot Control。

Pivot分為兩個部分:

上圖黃色區域是Pivot的Header部分和綠色區域是PivotItem的Content部分。

Header:主要包含Pivot的Title,在圖中為“PIVOT APPLICATION”,還有PivotItem的Header,在圖中為“item1、item2和item3”。

可以設定Pivot的Title屬性,改變文字;可以編輯TitleTemplate,來改變Title的樣式,比如在Title加個小圖示等等,但是建議不要改變它的高度,我會在之後的文章中來詳細說明。

PivotItem的Header屬性與Pivot的Title屬性類似,可以設定它改變文字,但PivotItem沒有提供Header的模闆屬性,是以目前不能改變它的外觀。Header屬性的文字不要設定太長,否則會導緻其它PivotItem的Header無法顯示出來。

PivotItem:顯示在樞軸視圖頁面的控件都放到PivotItem中,可以把PivotItem當作一個容器控件,将要展示的控件都放置在其中。

Pivot的重要屬性和事件

屬性:

SelectedIndex:擷取或設定目前選擇的PivotItem的索引。

SelectedItem:擷取或設定目前選擇的PivotItem的對象。

Title:擷取或設定Pivot的标題。

TitleTemplate:擷取或設定Pivot标題的模闆,通過設定它可以改變Pivot标題的外觀。

事件:利用好這些事件被觸發的時機,可以有效的實作資料的動态加載。

LoadedPivotItem:該事件在加載完成後被觸發。

LoadingPivotItem:該事件在加載PivotItem時被觸發,可以用來動态加載資料。

SelectionChanged:選擇的PivotItem改變時該事件被觸發。

UnloadedPivotItem:該事件在解除安裝PivotItem完成時被觸發。

UnloadingPivotItem:該事件在解除安裝PivotItem開始時被觸發。

使用建議

從性能方面考慮,盡量少用Pivot,使Pivot的PivotItem盡可能的少。

為了提高Pivot的啟動速度,可以延遲加載一些資料。在初始化時隻加載必要的資料,切換到相應的PivotItem時,再動态加載需要的資料。

確定Pivot隻是用來顯示同類的頁面或資料,而不是因為喜歡它的展示效果就将很多不相關的資料和頁面放到一個Pivot當中。

空的PivotItem一定要删除。

千萬不要用Pivot來展示業務流程,就是說Pivot中的頁面必須為并列關系,不能為互相依賴的關系。

在PivotItem中,不要使用具有水準Pan和Flick的手勢的控件(例如水準的ScrollViewer或ListBox),因為這類控件會攔截手勢的消息,阻礙Pivot頁面的切換。

PivotItem中的控件寬度,不要超過一個螢幕,超出部分将無法顯示。(注意:Panorama可不是這樣)

可以程式設計實作切換到哪個PivotItem,設定Pivot的SelectedIndex和SelectedItem屬性就可以。

繼續閱讀