預設項目是“只支援縱向的”
如果你看一下MainPage.xaml檔案的頭部資訊,會發現兩個屬性:SupportedOrientations=”Portrait” Orientation=”Portrait”
可以將SupportedOrientations想象成你準備在程式中支援的可能發生的情況的列表。你可以將SupportedOrientations設定成以下3個值中的任意一個:
- Portrait (預設值)
- Landscape
- PortraitOrLandscape
Orientation屬性是想讓你的程式在啟動時以何種方式呈現。它有更多的值可選,但記住如果想要以 模式啟動,你需要將橫向包含到SupportedOrientations中。下面是Orientation值的列表:
- Landscape
- LandscapeLeft (將電話向左翻轉)
- LandscapeRight (將電話向右翻轉)
- Portrait
- PortraitDown (正常的豎直方向)
- PortraitUp (倒置)
你可以看到在上表中不僅可以指定縱向或橫向,還可以指定這些方向的相片順序。這允許你用你喜歡的方向開始你的應用程式。
改變方向
有兩種方式可以改變裝置的方向。第一將SupportedOrientation設定為“PortraitOrLandscape”讓作業系統為你實現。在大多數情況下,並不推薦這樣做,因為你的應用程式介面可能不再適應螢幕了。第二種方式是通過代碼實現。
你可以看到在橫向時,很多按鈕不在螢幕之中。這不是理想的使用者體驗。簡單解決方案是去掉標題。我確信我們的使用者可以看出這是一個計算機。我們可以對按鈕進行重新布局,如果對於程式來說有意義,那就去做!
以下代碼來告訴你裝置的方向判斷和 處理操作
public CustomerPage() { InitializeComponent(); OrientationChanged += new EventHandler<OrientationChangedEventArgs>(CustomerPage_OrientationChanged); //判斷螢幕橫屏和樹屏的改變 } //解決螢幕橫屏和樹屏的改變帶來的資料載入問題 void CustomerPage_OrientationChanged(object sender, OrientationChangedEventArgs e) { //如果是橫屏分頁數為5 if (e.Orientation == PageOrientation.LandscapeLeft || e.Orientation == PageOrientation.LandscapeRight) { PageCount = 5; } //如果是豎屏分頁數為10 else if (e.Orientation == PageOrientation.PortraitDown || e.Orientation == PageOrientation.PortraitUp) { PageCount = 10; } }