1

Windows Phone 7 でアプリケーションの開発を開始しようとしています。しかし、いくつかの点で疑問があります。

ここに画像の説明を入力

これは、アプリケーションの GUI 形式です。アプリケーションには多くのページがあります。

最初のセクションには 3 つのボタンがあり、アプリケーション全体のデザインに変更はありません。iPhone では、UINavigationBar コントロールを使用しました。しかし、iPhone の UINavigationBar のような Windows Phone のコントロールはありますか?

2番目のセクションでは、内容が常に変化しています。

3 番目のセクションには、いくつかのボタンがあります。ただし、ボタンの機能はページごとに異なります。また、一部のページで余分なボタンを削除または追加する必要があります。iPhone では UITabBar コントロールを使用しました。

アプリ開発を効率的に開始するには、どの方法を使用すればよいですか?. この目的で Windows Phone で使用できるコントロールやアイデアを誰か提案してもらえますか?

ありがとう。

4

3 に答える 3

3

iPhone アプリと同じように Windows PHone アプリを構築しようとしているようです。これにより、通常、Windows Phone でのエクスペリエンスが非常に低下し、アプリがプラットフォーム上の他のアプリと同じように動作しないため (したがって、アプリの動作が期待どおりに動作しないため)、ユーザーが不満を感じるようになります。

プラットフォームに適したものを構築できるように、アプリを設計する前に、Windows Phone の設計リソースを確認することから始めることをお勧めします。

いくつかのヒント:
- 一般に、ページの [上部] にあるフローティング ボタンは見栄えが悪くなります。これは、プラットフォーム上のアプリがナビゲーションを実行する方法ではありません (iOS とは異なります)。Windows Phone アプリでは、ページ ナビゲーションに "ハブ アンド スポーク" モデルを使用する必要があります。
- ページ内でコンテンツを変更すると、[戻る] ボタンの予想される動作について混乱が生じる可能性があります。一貫性のない、予測不可能な、または非標準の [戻る] ボタンの動作により、アプリケーションが認証に失敗する可能性があるため、これについては十分に注意してください。

于 2012-05-16T12:55:06.123 に答える
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>

そして、これがデザイナーでどのように見えるかです:

Windows Phone 7 アプリケーションのサンプル

この場合、メイン コンテンツ (常に変化する) は<TextBlock>ですが、他のコントロールまたは で構成されたパネルを使用できますUserControl。複数のパネル/コントロールを同じグリッド セルに配置する場合、1 つのパネル/コントロールを除くすべてを非表示にすることで、レイアウトを完全に変更できます。

ボタンの一番上の行には水平<StackPanel>を使用しましたが、レイアウトと配置をより適切に制御するために別のものを使用することをお勧めします。

ボタンの一番下の行には、標準の Windows Phone 7 ユーザー エクスペリエンスの一部である appbar を使用する必要があります。

于 2012-05-16T12:24:12.797 に答える
1

どのくらいPivotですか?それはあなたのニーズに合うかもしれません。技術的には、ピボットは同じデータをさまざまな方法で表示するために使用されます。

MSDN

于 2012-05-16T12:49:57.793 に答える