2012-05-16 44 views
1

我即將開始在Windows Phone 7中開發應用程序,但我在某些方面有疑問。關於在Windows Phone 7中開始開發應用程序的問題

enter image description here

這是應用程序的GUI格式。該應用程序有很多頁面。

第一部分有3個按鈕,在整個應用程序中它們的設計沒有改變。在iPhone中,我使用了UINavigationBar控件。但有沒有像iPhone中的UINavigationBar在Windows手機中的任何控制?

在第二部分內容總是在變化。

在第三部分有一些按鈕。但按鈕功能在不同的頁面中有所不同。還需要在某些頁面中刪除或添加額外的按鈕。在iPhone中,我使用UITabBar控件。

哪種方式可以有效地啓動應用程序開發?任何人都可以請建議控制或想法,我可以在這裏用於Windows Phone這個目的?

謝謝。

+2

您可以使用應用程序欄爲您的應用程序的按鈕,下面展示瞭如何使用不同的應用程序欄的樞軸控件的不同頁面,但是相同的技術可以被用於非透視基於網頁:HTTP:// msdn.microsoft.com/en-us/library/hh394036(v=vs.92).aspx –

回答

1

如果您不想創建一個應用程序,用戶可以在頁面之間進行導航(並使用後退按鈕返回),則可以基於單個頁面創建應用程序。如果您創建了一個Windows Phone應用程序項目,以下是Visual Studio爲您創建的某種程度的修改版本。

<phone:PhoneApplicationPage 
     x:Class="PhoneApp1.MainPage" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="728" 
     FontFamily="{StaticResource PhoneFontFamilyNormal}" 
     FontSize="{StaticResource PhoneFontSizeNormal}" 
     Foreground="{StaticResource PhoneForegroundBrush}"> 

     <Grid Background="Transparent"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition/> 
      </Grid.RowDefinitions> 

      <StackPanel Margin="12,17,0,28"> 
       <TextBlock 
        Text="MY APPLICATION" 
        Style="{StaticResource PhoneTextNormalStyle}"/> 
       <TextBlock 
        Text="page name" 
        Margin="9,-7,0,0" 
        Style="{StaticResource PhoneTextTitle1Style}"/> 
      </StackPanel> 

      <Grid Grid.Row="1" Margin="12,0,12,0"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition/> 
       </Grid.RowDefinitions> 

       <!-- The three buttons --> 
       <StackPanel Orientation="Horizontal"> 
        <Button Content="Button 1"/> 
        <Button Content="Button 2"/> 
        <Button Content="Button 3"/> 
       </StackPanel> 

       <!-- The main content --> 
       <TextBlock Grid.Row="1" 
        Text="Content always changing" 
        Style="{StaticResource PhoneTextTitle1Style}" 
        TextWrapping="Wrap" 
        TextAlignment="Center"/> 

      </Grid> 
     </Grid> 

     <phone:PhoneApplicationPage.ApplicationBar> 
      <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> 
       <shell:ApplicationBarIconButton 
        IconUri="/Images/appbar_button1.png" 
        Text="Button 1"/> 
       <shell:ApplicationBarIconButton 
        IconUri="/Images/appbar_button2.png" 
        Text="Button 2"/> 
       <shell:ApplicationBar.MenuItems> 
        <shell:ApplicationBarMenuItem Text="MenuItem 1"/> 
        <shell:ApplicationBarMenuItem Text="MenuItem 2"/> 
       </shell:ApplicationBar.MenuItems> 
      </shell:ApplicationBar> 
     </phone:PhoneApplicationPage.ApplicationBar> 

    </phone:PhoneApplicationPage> 

這裏是它的外觀在設計師

Sample Windows Phone 7 application

在這種情況下,主要內容(即總是在變化)是一個<TextBlock>,但你可以使用其他組成的板控件或UserControl。如果將多個面板/控件放在同一個網格單元中,則可以通過隱藏除一個面板/控件以外的所有其他面板來完全更改佈局。

對於第一排按鈕,我使用了水平的<StackPanel>,但您可能想要使用其他方法來更好地控制佈局和對齊。

對於最下面一排按鈕,您應該使用屬於標準Windows Phone 7用戶體驗的應用程序欄。

1

如何使用Pivot?它可能適合您的需求。技術上樞軸用於以不同的方式顯示相同的數據。

MSDN

3

看來你試圖建立一個Windows Phone應用程序你將iPhone應用程序的方式。這通常會導致Windows Phone上的糟糕體驗,並導致用戶感到沮喪,因爲該應用程序的行爲與平臺上的其他應用程序的行爲不同(因此他們期望您的應用程序的行爲方式)。

我建議先在設計應用程序之前先看一下Design Resources for Windows Phone,然後才能構建適合該平臺的東西。

幾個指針:
- 一般情況下,漂浮在頁面的頂部。]按鈕看起來很糟糕。這不是在平臺上的應用程序進行導航(不像iOS版)的方式。 Windows Phone的應用程序應該使用「中心輻射」模式的頁面導航。
- 有內容cahnge內的頁面可能導致對後退按鈕的預期行爲有些混亂。要非常小心關於這個問題,不一致的,不可預知的或非標準的後退按鈕行爲可能會導致應用程序失敗的認證。

相關問題