設定画面とかで使うFlyoutは、最近では簡単に出すことができる。
(昔はApp.xaml.csとかに色々書いたよね・・・)
プロジェクトにフォームを追加する
ポップアップの設定 というのがそう。
ソース側から呼び出す
たとえばボタンクリックイベントに。
void btnAdd_Click(object sender, RoutedEventArgs e) { // フライアウト TaskFlyout taskFlyout = new TaskFlyout(); // 幅を設定 taskFlyout.Width = 460; // チャームへ戻らないように表示 taskFlyout.ShowIndependent(); // 閉じた時のイベント taskFlyout.Unloaded += taskFlyout_Unloaded; }
ShowIndependent で開かないと、←ボタンした時にチャームが出てしまうので注意。
また、閉じたときに何か処理したい(再読み込みとか)ときは、Unloadedイベント で定義しておく。
フライアウト内で閉じるには
void btnUpdate_Click(object sender, RoutedEventArgs e) { this.Hide(); }
フライアウト内のボタンで閉じる時には Hide を使う。
小さな登録系の処理なんかは、いちいち画面遷移せず、フライアウトで出してしまうのがスマートな気がする。