【WindowsPhone】– (一)控制項、布局與介面

來源:互聯網
上載者:User

1、直接用可視化整合式開發環境 Expression Blend 4 設計App並編寫代碼和用VS建立 Silverlight For Windows Phone專案檔進行設計、編碼的效果是一樣的,相對而言 Expression Blend 4 對wp7的介面設計更為直觀。Expression Blend 4 是微軟最新的silverlight介面設計軟體,提供可視化的介面布局,但是視圖中的一些小細節還是用VS直接輸入XAML更加快捷。
2、為XAML的命名空間,其中兩個重要的屬性 xmlns:phone 和 xmlns:shell 都位於 Microsoft.Phone.dll下,這是微軟為WP7提供的一組智能手機特性封裝庫。

3、控制項(此處省略。。)
    可以注意的有兩點:
(1)Slider控制項,它比較特殊,如果給它的Value屬性在還沒有觸發時就設定了一個固定的值,屬性MiniNum也是一樣的,那麼在運行時就會出現以下錯誤:

修改錯誤的方法是:
         在 slider1_ValueChanged 的代碼裡加一句:slider.Value=你設定的那個值、slider1.Minimum=你設定的那個值,這樣就OK了,一般情況的話就不要在XAML中設定Value、MiniNum屬性了,拿Slider控制項這個錯誤沒辦法。。。
(2)建立事件有兩種方法:
        一種是在XAML中實現,是我自己現在經常用的,因為比較容易理解,簡單點。還以Slider控制項為例:在其XAML版面設定為ValueChanged="slider1_ValueChanged" 然後雙擊在其MainPage.xaml.cs後台字碼頁面中出現

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e){ 
//....}

        另一種是在Managed 程式碼中實現。例如:

public partial class MainPage : PhoneApplicationPage{   // 建構函式    public MainPage()    {       InitializeComponent();       //Managed 程式碼       this.slider1.ValueChanged+=new RoutedPropertyChangedEventHandler<double>(slider1_ValueChanged);    }    private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)    {       //其他代碼     }}

小技巧:寫Managed 程式碼時,敲出 slider1.ValueChanged += 後,按下空格鍵,就會直接給出後面的代碼
new RoutedPropertyChangedEventHandler<double>(slider1_ValueChanged) 的提示資訊,然後按Tab鍵兩下,就完成Managed 程式碼了。
4、布局與介面
(1)Canvas -- 畫布
      Canvas是依據座標X軸和Y軸進行定位,設定屬性為:Canvas.Left(X軸)和Canvas.Top(Y軸),另外,可以使用Z軸定位實現元素的三維重疊效果,屬性為:Canvas.ZIndex,屬性值越大元素越在上層。
(2)Grid -- 網格
       使用一張網格將XAML元素按格進行定位,使用Grid.RowDefinitions定義行,使用Grid.ColumnDefinitions定義列。
小技巧:需要設定網格的多少以及行列的寬度、高度時,直接用滑鼠點擊Grid的邊框,隨意設定即可。
(3)StackPanel -- 容器(堆棧面板)
       相對於Canvas和Grid,StackPanel使用更加簡單、方便,可以直接將XAML元素按行或列整齊的順序性的進行排列,有從左至右、從上到下兩種相片順序,其屬性設定為:Orientation="Horizontal"或"Vertical",預設為Vertical。其實StackPanel就是 堆棧 的容器,如果瞭解資料結構中的堆棧的話,就很好理解了。
(4)Panorama -- 全景視圖
        Panorama將一部分內容顯示出來,剩下的六道第二屏、第三屏顯示。
 全景視圖最佳實務:
        1> 背景圖片大小高度800,寬度大於480小於2000,一般選擇寬、高為480*800或8000*1024px的png圖片,png圖片失真小、圖片品質高、能夠正確反映整個程式意義。
        2>Item盡量不要多於4個。
        3>不要再其中放置水平滑動的控制項,例如水平的ScrollViewer。
        4>不要使用Panorama做任務流程。
(5)Pivot -- 樞軸
        Pivot控制項分為兩大結構: Pivot Headers 和 Pivot item Control,其中 Pivot item Control 是整個Pivot控制項的核心顯示地區。
          樞軸視圖最佳實務:
            1>每個Pivot中的PivotItem盡量不要超過7個
            2>避免空白Pivot頁
            3>不要在其中放置水平滑動的控制項,例如水平的ScrollViewer
            4>標題文字簡潔、高度固定
            5> PivotItem顯示同類型的資料
            6> 不能用Pivot頁面做任務流程
            7> PivotItem寬度不能超過螢幕
Pivot與Panorama的區別如下:

(6)ApplicationBar -- 菜單
        分為兩大結構:ApplicationBarIconButton 和 ApplicationBarMenuItem
        ApplicationBarIconButton 最多支援4個 Button;置中顯示;表徵圖大小48*48px;一般不用GoBack。
        常用屬性:IsVisible、IsMenuEnabled、Opacity
    **表徵圖位於:C:\\Program Files\Microsoft SDKs\Windows Phone v7.0\Icons\dar 檔案夾中
       ApplicationBarMenuItem 盡量避免超過5項;避免過長文字;文字自動切換為小寫
(7)還有一個是System Tray,在螢幕的最上面
      顯示訊號強度、資料連線、漫遊、無線網路訊號強度、鈴聲,模式、電池電量之類的

       

主要屬性是:IsVisible、Opacity、BackgroundColor & ForegroundColor

後記--關於wp的一些很基礎的東西,代碼很少,先把理論弄明白了以後再深入實踐,是給我自己積累的,也拿出來給friends分享下。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.