Windows Phone8.1アプリケーションにサイドバーを追加する

opewix

Windows Phone 8.1アプリケーションを構築していますが、Androidアプリのようなサイドバーが必要です。どうすればいいですか?

このを試しましたが、コンパイルされず、操作イベントが発生しません。

opewix

これは、速度処理を使用した非常に単純な例です。

グリッドのManipulationプロパティをに設定してくださいAll

グリッドの背景をからDarkSalmon変更Transparentます。

ここに画像の説明を入力してください

XAML

<Canvas Name="RootCanvas">
    <Canvas.Resources>
        <Storyboard x:Name="MoveAnimation">
            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(Canvas.Left)" Storyboard.TargetName="Sidebar" d:IsOptimized="True" />
        </Storyboard>
    </Canvas.Resources>

    <Grid Name="Sidebar" Background="DarkSalmon" Width="360" Height="640" Canvas.Left="-340" ManipulationDelta="Sidebar_ManipulationDelta" ManipulationMode="All" ManipulationCompleted="Sidebar_ManipulationCompleted">
        <Grid Background="DarkSlateBlue" Margin="0,0,20,0">
            <StackPanel Orientation="Vertical">
                <Button Content="Mailbox" />
                <Button Content="Calendar" />
                <Button Content="Tasks" />
                <Button Content="Documents" />
            </StackPanel>
        </Grid>
    </Grid>
</Canvas>

コードビハインド

private bool _triggerCompleted;

    private const double SideMenuCollapsedLeft = -340;
    private const double SideMenuExpandedLeft = 0;

    private void Sidebar_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        _triggerCompleted = true;

        double finalLeft = Canvas.GetLeft(Sidebar) + e.Delta.Translation.X;
        if (finalLeft < -340 || finalLeft > 0)
            return;

        Canvas.SetLeft(Sidebar, finalLeft);

        if (e.IsInertial && e.Velocities.Linear.X > 1)
        {
            _triggerCompleted = false;
            e.Complete();
            MoveLeft(SideMenuExpandedLeft);
        }

        if (e.IsInertial && e.Velocities.Linear.X < -1)
        {
            _triggerCompleted = false;
            e.Complete();
            MoveLeft(SideMenuCollapsedLeft);
        }

        if (e.IsInertial && Math.Abs(e.Velocities.Linear.X) <= 1)
            e.Complete();
    }

    private void Sidebar_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
    {
        if (_triggerCompleted == false)
            return;

        double finalLeft = Canvas.GetLeft(Sidebar);

        if (finalLeft > -170)
            MoveLeft(SideMenuExpandedLeft);
        else
            MoveLeft(SideMenuCollapsedLeft);
    }

    private void MoveLeft(double left)
    {
        double finalLeft = Canvas.GetLeft(Sidebar);

        Storyboard moveAnivation = ((Storyboard)RootCanvas.Resources["MoveAnimation"]);
        DoubleAnimation direction = ((DoubleAnimation)((Storyboard)RootCanvas.Resources["MoveAnimation"]).Children[0]);

        direction.From = finalLeft;

        moveAnivation.SkipToFill();

        direction.To = left;

        moveAnivation.Begin();
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Windows Phone8アプリケーションデータをサーバーに送信する方法

分類Dev

Windows Phone8のアプリバー

分類Dev

Windows Phone8ニュースアプリケーション

分類Dev

Windows Phone8アプリの送信

分類Dev

Windows Phone8のScrollViewerイベント

分類Dev

Windows Phone8でのSQLiteエラー

分類Dev

Windows Phone8およびMVVMのアプリケーションバーにボタンを動的に追加する

分類Dev

Windows Phone8はフォアグラウンドアプリケーションを取得します

分類Dev

Windows Phone8アプリからメールを送信する

分類Dev

Windows Phone8アプリケーションで通話をトリガーする

分類Dev

Windows Phone8アプリケーションの背景色の変更

分類Dev

Windows Phone8でのアプリケーションバーのローカリゼーション

分類Dev

Windows Phone8アプリにWebページをロードする

分類Dev

Windows Phone8のSMSからアプリケーションを自動的に起動します

分類Dev

Windows Phone8のローカリゼーション

分類Dev

Windows Phone8のアプリケーションから数字の記号を削除する方法

分類Dev

Windows 8 / Windows Phone8アプリの送信の自動化

分類Dev

Windows Phone8アプリでヘルプを表示する方法

分類Dev

Windows Phone8でアプリを共有する

分類Dev

Windows Phone8でPDFリーダーを起動する

分類Dev

Windows Phone8イメージハイパーリンク

分類Dev

Windows Phone8アプリに素晴らしいFontを追加する

分類Dev

Windows Phone8のファイルに行を追加

分類Dev

Windows Phone8でサウンドクリップを再生する

分類Dev

Windows Phone8で2つの画像をマージする方法

分類Dev

Windows Phone8でJsonデータを解析する方法

分類Dev

Windows Phone8のDirectXデバッグレイヤー

分類Dev

Visual Studio 2013 Ultimate Windows Phone8テンプレートなし

分類Dev

Windows Phone8のLongListSelectorによるページ付け

Related 関連記事

  1. 1

    Windows Phone8アプリケーションデータをサーバーに送信する方法

  2. 2

    Windows Phone8のアプリバー

  3. 3

    Windows Phone8ニュースアプリケーション

  4. 4

    Windows Phone8アプリの送信

  5. 5

    Windows Phone8のScrollViewerイベント

  6. 6

    Windows Phone8でのSQLiteエラー

  7. 7

    Windows Phone8およびMVVMのアプリケーションバーにボタンを動的に追加する

  8. 8

    Windows Phone8はフォアグラウンドアプリケーションを取得します

  9. 9

    Windows Phone8アプリからメールを送信する

  10. 10

    Windows Phone8アプリケーションで通話をトリガーする

  11. 11

    Windows Phone8アプリケーションの背景色の変更

  12. 12

    Windows Phone8でのアプリケーションバーのローカリゼーション

  13. 13

    Windows Phone8アプリにWebページをロードする

  14. 14

    Windows Phone8のSMSからアプリケーションを自動的に起動します

  15. 15

    Windows Phone8のローカリゼーション

  16. 16

    Windows Phone8のアプリケーションから数字の記号を削除する方法

  17. 17

    Windows 8 / Windows Phone8アプリの送信の自動化

  18. 18

    Windows Phone8アプリでヘルプを表示する方法

  19. 19

    Windows Phone8でアプリを共有する

  20. 20

    Windows Phone8でPDFリーダーを起動する

  21. 21

    Windows Phone8イメージハイパーリンク

  22. 22

    Windows Phone8アプリに素晴らしいFontを追加する

  23. 23

    Windows Phone8のファイルに行を追加

  24. 24

    Windows Phone8でサウンドクリップを再生する

  25. 25

    Windows Phone8で2つの画像をマージする方法

  26. 26

    Windows Phone8でJsonデータを解析する方法

  27. 27

    Windows Phone8のDirectXデバッグレイヤー

  28. 28

    Visual Studio 2013 Ultimate Windows Phone8テンプレートなし

  29. 29

    Windows Phone8のLongListSelectorによるページ付け

ホットタグ

アーカイブ