設定画面とかで使う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 を使う。
小さな登録系の処理なんかは、いちいち画面遷移せず、フライアウトで出してしまうのがスマートな気がする。