サッカー戦術ボードの画面切り替え

高橋さんのBlogで紹介いただいて、その中で画面の切り替えどうやってるか記事にしてほしいとのことでしたので、一応書いてみます。
……とはいえ、たいしたことはしていないんですが(汗

// Boardを切り替える
private bool bBoard = true;
private void Button_Click(object sender, RoutedEventArgs e)
        {
            // ペンを消す
            InkCanvas.Children.Clear();

            MagnetClear();

            if (bBoard)
            {
                grid.Background.SetValue(ImageBrush.ImageSourceProperty, new BitmapImage() { UriSource = new Uri(@"ms-appx:/Image/goalboard.png") });

                bBoard = false;
            }
            else
            {
                grid.Background.SetValue(ImageBrush.ImageSourceProperty, new BitmapImage() { UriSource = new Uri(@"ms-appx:/Image/whiteboard.png") });

                bBoard = true;
            }

            SetElevenMagnet();
        }

というわけで、GridのBackgroundにSetValueで入れ替えるだけという単純なつくりで、「bBoard」をflagに管理するという手です。
「SetElevenMagnet();」はBoardごとの初期設定値にマグネット配置を行っています。
本当はプロパティ化してというのも考えたんですが、ちょっと手抜きでべたな実装にしています。
プロパティでやるならコールバックに切り替えを仕込んでおく、Gridを使わずにImageで描画するほうがいいかもしれないですね。

・シンプルサッカー戦術ボード
WindowsStoreLinkImage
・対応言語:日本語、英語
・Simple soccer (football) tactic board

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください