libro
www.tuyano.com
C#ではじめるWindows 8アプリ開発入門

アプリバーとフライアウト (5/5)

作成:2014-02-22 11:10
更新:2014-02-22 11:10

■フライアウトを操作する

アプリバーやフライアウトで表示されるボタン類などをクリックした時の処理は、Buttonなどの基本的なイベント処理と同じで、Clickプロパティにメソッド名を指定し、そのメソッドを実装することで用意できます。

先ほどのXAMLのサンプルコードを見ると、フライアウトで表示される2つのメニューと「OK」「Cancel」ボタンに、ぞれぞれClickでメソッドが割り当てられていることに気づいたでしょう。これらのメソッドを使って、フライアウトを操作する処理を作ってみます。

●フライアウトを表示する
《Flyout》.ShowAt( コントロール );

●フライアウトを閉じる
《Flyout》.Hide();

プログラム内からフライアウトを呼び出す場合には「ShowAt」メソッドを利用します。引数には、そのフライアウトが表示されるコントロールを指定します。フライアウトというのは、あるコントロールの下にポップアップして現れるものなので、表示する際には「どのコントロールに表示するか」を指定する必要があります。

フライアウトを閉じるのは、「Hide」メソッドです。こちらは引数などは全くありません。

先ほど作成したXAMLでは、メニューとフライアウトのボタン類にClickでメソッドを割り当てておきました。ここで、それらのメソッドの簡単な利用例を挙げておきましょう。といってもたいしたことはしていなくて、メニューを選ぶとフライアウトを表示し、フライアウトのボタンをクリックしたらメッセージを表示してフライアウトを閉じる、といった程度のものです。

とりあえず、これでフライアウトを自由に呼び出したり消したりできるようになりました。アプリバーとメニュー、フライアウトが使えるようになると、かなり柔軟な画面が作れるようになってきますよ!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

    public sealed partial class MainPage : Page
    {
        
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Menu1_Click(object sender, RoutedEventArgs e)
        {
            sampleFlyout.ShowAt(appbutton1);
        }

        private void Menu2_Click(object sender, RoutedEventArgs e)
        {
            sampleFlyout.ShowAt(appbutton2);
        }

        private void Button1_Click(object sender, RoutedEventArgs e)
        {
            sampleFlyout.Hide();
            textblock1.Text = "you clicked 'OK'!";
        }

        private void Button2_Click(object sender, RoutedEventArgs e)
        {
            sampleFlyout.Hide();
            textblock1.Text = "you canceled...";
        }


    }
※関連コンテンツ

「C#ではじめるWindows 8アプリ開発入門」に戻る