Windows Phone Developer Tools RTW 新特性-Pivot控制項(轉自施炯的技術部落格)

來源:互聯網
上載者:User
Windows Phone Developer Tools RTW 新特性-Pivot控制項

    IE9 Beta發布了,Windows Phone Developer Tools RTW也來了,開發人員和發燒友又有得忙活了。園子裡好多朋友已經開始了研究,包括馬寧、張欣、Jake、randylee、chenkai等等,我也來加入吧。

    剛剛安裝了Windows Phone Developer Tools RTW,其中UI方面一些新特性,包括Bing Maps Silverlight Control for Windows Phone、Panorama Control for Windows Phone和Pivot Control for Windows Phone。這次就來實踐一下Pivot控制項。

    首先,關於Pivot控制項的介紹,大家可以參考《UI Design and Interaction Guide for Windows Phone 7-v2.0》這個文檔。之前,園子裡的幾個朋友在WPMind站長小指的撮合下,對該文檔的第一版聯合進行了翻譯,大家可以去http://www.wpmind.com/上下載。

    樞軸(Pivot)控制項提供了一種快速的方式來管理應用中的視圖或頁面。樞軸可以用來過濾大的資料集,瀏覽多個資料集,或者切換應用視圖。樞軸控制項水平並且相鄰放置獨立的視圖,同時管理左側和右側的導航。可以通過Flick或者Pan手勢來推動樞軸控制項。

    程式設計時,對於的Pivot考慮:

  • 應用程式應該使得pivot頁最少。
  • pivot頁面的內容由應用程式定義。
  • pivot頁面是迴圈的。
  • pivot頁面不能覆蓋水平pan和水平flick功能,因為它與樞軸控制項的互動設計相衝突。
  • pivot標題文字的長度沒有限制。顯示文字的數量受制於樞軸控制項的寬度。
  • pivot標題高度固定,不能改變。
  • 樞軸控制項應該只用來顯示相同類型的條目或者資料。
  • 該控制項不應該用來做任務流程。不同的頁面應該在外觀方面具備無縫切換。頁面不應該極大地改變使用者的活動。
  • 樞軸控制項應該少使用,在適當情況下才使用。
  • 在使用者沒有可能添加資訊的情況下,一個空的pivot頁應該被刪除。

    下面我們來示範如何在應用程式中加入pivot控制項。

1. 開啟Visual Studio 2010 Express for Windows Phone,建立C#項目,選擇Windows Phone Application模板,項目名為PivotDemo。

2. 為項目添加新的項目,選擇Windows Phone Pivot Page,命名為PivotPage.xaml,如所示:

3.在MainPage.xaml檔案中,為ContentPanel加入新的元素,代碼如下:

<HyperlinkButton Content="Pivot Application Example" Height="57" HorizontalAlignment="Left" Margin="49,116,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="383" NavigateUri="/PivotPage1.xaml"/>

4.在PivotPage.xaml檔案中,為其加入一個新的PivotItem,代碼如下:

<!--Pivot item three.-->
     <controls:PivotItem Header="item3">
        <Grid/>
     </controls:PivotItem>

5.為Pivot Item添加控制項和內容。為第一個PivotItem添加TextBlock control,代碼如下:

<Grid>
    <!--Added textbox control with formatted text.-->
    <TextBlock
       TextWrapping="Wrap"
       Style="{StaticResource PhoneTextLargeStyle}">
       <Run>This is a simple sample for the pivot control adding text.</Run>
       <LineBreak/>
       <LineBreak/>
       <Run>You can put any content you want here...</Run>
  </TextBlock>
</Grid>

為第二個PivotItem添加背景圖片和文字,代碼如下:

<!--Added background image and text content.-->
    <Border
        BorderBrush="{StaticResource PhoneForegroundBrush}"
        BorderThickness="{StaticResource PhoneBorderThickness}">
             <Grid>
                 <Image
                    Source="PanoramaBG.png"
                    Stretch="UniformToFill"/>
                 <TextBlock
                    Text="Here is some generic content to take up space."
                    TextWrapping="Wrap"
                    Style="{StaticResource PhoneTextExtraLargeStyle}" />
            </Grid>
     </Border>

為第三個PivotItem添加ListBox,向其中寫入一些string,支援垂直滾屏,代碼如下:

<!--This code adds a series of string text values.-->
<Grid>
            <ListBox FontSize="{StaticResource PhoneFontSizeLarge}">
                <sys:String>This</sys:String>
                <sys:String>item</sys:String>
                <sys:String>has</sys:String>
                <sys:String>a</sys:String>
                <sys:String>short</sys:String>
                <sys:String>list</sys:String>
                <sys:String>of</sys:String>
                <sys:String>strings</sys:String>
                <sys:String>that</sys:String>
                <sys:String>you</sys:String>
                <sys:String>can</sys:String>
                <sys:String>scroll</sys:String>
                <sys:String>up</sys:String>
                <sys:String>and</sys:String>
                <sys:String>down</sys:String>
                <sys:String>and</sys:String>
                <sys:String>back</sys:String>
                <sys:String>again.</sys:String>         
            </ListBox>
</Grid>

另外,為了使ListBox控制項支援多行的string,必須添加引用:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

6. 編譯代碼,進行模擬器調試,如所示。

  

附上原始碼:PivotDemo.zip

視頻示範地址:http://v.youku.com/v_show/id_XMjA4MTk3MDg0.html

 

參考連結:

Pivot Control for Windows Phone

《Windows Phone 7 UI設計及人機互動指南》第一版

《UI Design and Interaction Guide for Windows Phone 7》 v2.0 

本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.