チュートリアル: C# でシンプルな WPF アプリケーションを作成する

このチュートリアルを完了すると、Visual Studio でアプリケーションを開発するときに使用できるツール、ダイアログ ボックス、およびデザイナーの多くについて理解できるようになります。 "Hello, World" アプリケーションの作成、UI の設計、コードの追加、エラーのデバッグを行いながら、統合開発環境 (IDE) での作業について学習します。

前提条件

  • Visual Studio をまだインストールしていない場合は、Visual Studio のダウンロード ページに移動し、無料試用版をインストールしてください。
  • .NET デスクトップ開発ワークロードがインストールされていることを確認します。 この構成は、Visual Studio インストーラーで確認できます。
  • このチュートリアルでは、.NET Framework または .NET Core を使用できます。 .NET Core の方がより新しく、より最新のフレームワークです。 .NET Core には、Visual Studio 2019 バージョン 16.3 以降が必要です。

WPF とは

WPF (または Windows Presentation Foundation) は、デスクトップ クライアント アプリケーションを作成する UI (ユーザー インターフェイス) フレームワークです。 WPF 開発プラットフォームでは、アプリケーション モデル、リソース、コントロール、グラフィックス、レイアウト、データ バインディング、ドキュメント、セキュリティなど、広範なアプリケーション開発機能をサポートします。

WPF は .NET の一部であるため、以前 ASP.NET や Windows フォームを使用して .NET でアプリケーションを構築したことがあれば、プログラミングには馴染みがあるでしょう。 WPF は、Extensible Application Markup Language XAML を使用して、アプリケーションのプログラミング用に、宣言型モデルを提供します。 詳細については、WPF .NET の概要に関する記事を参照してください。

IDE の構成

Visual Studio を起動するときに、スタート ウィンドウが最初に表示されます。 [コードなしで続行] を選択して、開発環境を開きます。 ツール ウィンドウ、メニューとツール バー、メイン ウィンドウ領域が表示されます。 ツール ウィンドウは、アプリケーション ウィンドウの左側と右側にドッキングされます。 上部には、検索ボックス、メニュー バー、標準ツールバーがあります。 ソリューションまたはプロジェクトを読み込むと、アプリケーション ウィンドウの中央スペースにエディターとデザイナーが表示されます。 アプリケーションを開発するときは、この中央の領域でほとんどの時間を費やします。

プロジェクトの作成

Visual Studio でアプリケーションを作成するには、最初にプロジェクトおよびソリューションを作成します。 この例では、Windows Presentation Foundation (WPF) プロジェクトを作成します。

  1. Visual Studio を開きます。

  2. スタート ウィンドウで、[新しいプロジェクトの作成] を選択します。

    View the 'Create a new project' window

  3. [新しいプロジェクトの作成] 画面で、「WPF」を検索し、 [WPF アプリケーション] を選択してから、 [次へ] を選択します。

    Screenshot of the 'Create a new project' dialog with 'WPF' entered in the search box, and the 'WPF Application' project template highlighted.

  4. 次の画面で、プロジェクトに「HelloWPFApp」という名前を付けて、 [次へ] を選択します。

    Screenshot of the 'Configure your new project' dialog in Visual Studio with 'HelloWPFApp' entered in the Project name field.

  5. [追加情報] ウィンドウでは、ターゲット フレームワークとして [.NET Core 3.1] が既に選択されているはずです。 そうでない場合は [.NET Core 3.1] を選択します。 次に、 [作成] を選択します。

    Screenshot that shows the Additional information window in Visual Studio with .NET Core 3.1 selected as the target framework for the new project.

Visual Studio は HelloWPFApp というプロジェクトとソリューションを作成し、ソリューション エクスプローラーは各種ファイルを表示します。 WPF デザイナーには、MainWindow.xaml のデザイン ビューと XAML ビューが分割ビューで表示されます。 分割線をスライドして、それぞれのビューの表示範囲を増減できます。 ビジュアル ビューか XAML ビューの一方のみを表示することも選択できます。

WPF project and solution in the IDE

Note

XAML (eXtensible Application Markup Language) について詳しくは、WPF のための XAML の概要に関するページをご覧ください。

プロジェクトは、作成後にカスタマイズできます。 これを行うには、[表示] メニューの [プロパティ ウィンドウ] を選択するか、または F4 キーを押します。 これで、アプリケーションのプロジェクト項目やコントロールなどの項目のオプションを表示および変更できます。

Properties window

  1. Visual Studio を開きます。

  2. スタート ウィンドウで、 [新しいプロジェクトの作成] を選択します。

    Screenshot of the start window in Visual Studio 2022 with the 'Create a new project' option highlighted.

  3. [新しいプロジェクトの作成] 画面で、「WPF」を検索し、 [WPF アプリケーション] を選択してから、 [次へ] を選択します。

    Screenshot of the 'Create a new project' dialog with 'WPF' entered in the search box, and the 'WPF Application' project template highlighted.

  4. 次の画面で、プロジェクトに「HelloWPFApp」という名前を付けて、 [次へ] を選択します。

    Screenshot that shows the 'Configure your new project' dialog in Visual Studio with 'HelloWPFApp' entered in the Project name field.

  5. [追加情報] ウィンドウで、ターゲット フレームワークに対して [.NET 8.0] が選択されていることを確認します。 次に、 [作成] を選択します。

    Screenshot that shows the Additional information window in Visual Studio with .NET 8.0 selected as the target framework for the new project.

Visual Studio は HelloWPFApp というプロジェクトとソリューションを作成し、ソリューション エクスプローラーは各種ファイルを表示します。 WPF デザイナーには、MainWindow.xaml のデザイン ビューと XAML ビューが分割ビューで表示されます。 分割線をスライドして、それぞれのビューの表示範囲を増減できます。 ビジュアル ビューか XAML ビューの一方のみを表示することも選択できます。

Screenshot of the HelloWPFApp project and solution in Solution Explorer, and the XAML and designer views of 'MainWindow.xaml' open in the WPF Designer.

Note

XAML (eXtensible Application Markup Language) について詳しくは、WPF のための XAML の概要に関するページをご覧ください。

プロジェクトは、作成後にカスタマイズできます。 これを行うには、[表示] メニューの [プロパティ ウィンドウ] を選択するか、または F4 キーを押します。 これで、アプリケーションのプロジェクト項目やコントロールなどの項目のオプションを表示および変更できます。

Screenshot of the Properties window showing the Misc section of the Solution Properties for the HelloWPFApp project.

ユーザー インターフェイス (UI) のデザイン

デザイナーを開いていない場合は、MainWindow.xaml を選択し、Shift+F7 キーを押してデザイナーを開きます。

このアプリケーションに 3 種類のコントロール (TextBlock コントロールを 1 つ、RadioButton コントロールを 2 つ、Button コントロールを 1 つ) を追加します。

TextBlock コントロールを追加する

  1. Ctrl+Q キーを押して検索ボックスを有効にし、「ツールボックス」と入力します。 結果リストから [表示] > [ツールボックス] を選択します。

  2. [ツールボックス] で、 [コモン WPF コントロール] ノードを展開し、TextBlock コントロールを表示します。

    Toolbox with the TextBlock control highlighted

  3. TextBlock 項目を選択してデザイン サーフェイス上のウィンドウにドラッグし、TextBlock コントロールをデザイン サーフェイスに追加します。 ウィンドウの上部付近の中央にコントロールを配置します。 Visual Studio 2019 以降では、赤いガイドラインを使用してコントロールを中央揃えにすることができます。

    ウィンドウは次の図のようになります。

    TextBlock control on the MainWindow form

    XAML マークアップは、次の例のようになります。

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
    </Grid>
    
  1. Ctrl+Q キーを押して検索ボックスを有効にし、「ツールボックス」と入力します。 結果リストから [表示] > [ツールボックス] を選択します。

  2. [ツールボックス] で、 [コモン WPF コントロール] ノードを展開し、TextBlock コントロールを表示します。

    Screenshot of the Toolbox window with the TextBlock control selected in the list of Common WPF Controls.

  3. TextBlock 項目を選択してデザイン サーフェイス上のウィンドウにドラッグし、TextBlock コントロールをデザイン サーフェイスに追加します。 ウィンドウの上部付近の中央にコントロールを配置します。 ガイドラインを使用して、コントロールを中央に配置できます。

    ウィンドウは次の画像のようになります。

    Screenshot of the TextBlock control on the design surface. Guidelines are shown for positioning and resizing the control.

    XAML マークアップは、次の例のようになります。

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
    </Grid>
    

テキスト ブロックのテキストをカスタマイズする

  1. XAML ビューで、TextBlock のマークアップを探し、Text 属性を TextBox から Select a message option and then choose the Display button. に変更します

    XAML マークアップは、次の例のようになります。

    <Grid>
        <TextBlock HorizontalAlignment="Left" Margin="387,60,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
    </Grid>
    
  2. 必要に応じて、TextBlock をもう一度中央揃えし、Ctrl + S キーを押すか、[ファイル] メニュー項目を使って、変更を保存します。

次に、2 つの RadioButton コントロールをフォームに追加します。

オプション ボタンを追加する

  1. [ツールボックス] で、RadioButton コントロールを探します。

    Toolbox window with RadioButton control selected

  2. RadioButton 項目を選択してデザイン サーフェイス上のウィンドウにドラッグし、RadioButto コントロールを 2 つデザイン サーフェイスに追加します。 TextBlock コントロールの下にボタンが並んで表示されるように、ボタンを移動します (ボタンを選択し、方向キーを使います)。 赤いガイドラインを使用してコントロールを配置します。

    ウィンドウは、次のようになります。

    MainWindow form with TextBlock and two radio buttons

  3. 左側の RadioButton コントロールの [プロパティ] ウィンドウで、 [Name] プロパティ ( [プロパティ] ウィンドウの一番上のプロパティ) を HelloButtonに変更します。

    RadioButton properties window

  4. 右側の RadioButton コントロールの [プロパティ] ウィンドウで、 [Name] プロパティを GoodbyeButton に変更し、変更を保存します。

次に、各 RadioButton コントロールの表示テキストを追加します。 次の手順では、RadioButton コントロールの [Content] プロパティを更新します。

  1. [ツールボックス] で、RadioButton コントロールを探します。

    Screenshot of the Toolbox window with the RadioButton control selected in the list of Common WPF Controls.

  2. RadioButton 項目を選択してデザイン サーフェイス上のウィンドウにドラッグし、RadioButto コントロールを 2 つデザイン サーフェイスに追加します。 TextBlock コントロールの下にボタンが並んで表示されるように、ボタンを移動します (ボタンを選択し、方向キーを使います)。 ガイドラインを使用して、コントロールを配置できます。

    ウィンドウは、次のようになります。

    Screenshot of the Design window for Greetings.xaml, showing a TextBlock control and two RadioButton controls positioned on the design surface.

  3. 左側の RadioButton コントロールの [プロパティ] ウィンドウで、 [Name] プロパティ ( [プロパティ] ウィンドウの一番上のプロパティ) を HelloButtonに変更します。

    Screenshot of the Properties window for a RadioButton control. The value of the Name property has been changed to HelloButton.

  4. 右側の RadioButton コントロールの [プロパティ] ウィンドウで、 [Name] プロパティを GoodbyeButton に変更し、変更を保存します。

次に、各 RadioButton コントロールの表示テキストを追加します。 次の手順では、RadioButton コントロールの [Content] プロパティを更新します。

各オプション ボタンの表示テキストを追加する

  1. XAML で 2 つのラジオ ボタン HelloButtonGoodbyeButtonContent 属性を "Hello""Goodbye" に更新してください。 XAML マークアップは次の例のようになります。

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
    </Grid>
    

チェックマークが既定で付けられるようにラジオ ボタンを設定する

この手順では、2 つのラジオ ボタンのいずれかが常に選択されるように、HelloButton に既定でチェックマークが付けられるように設定します。

  1. XAML ビューで、HelloButton のマークアップを見つけます。

  2. IsChecked 属性を追加し、True に設定します。 具体的には、IsChecked="True" を追加します。

    XAML マークアップは次の例のようになります。

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
    </Grid>
    

最後に追加する UI 要素は、Button コントロールです。

Button コントロールを追加する

  1. [ツールボックス] で、 Button コントロールを探し、デザイン サーフェイスの RadioButton コントロールの下に追加します。デザイン ビュー内のフォームにドラッグすると追加されます。 Visual Studio 2019 以降を使用している場合は、赤い線を使ってコントロールを中央揃えにすることができます。

  2. XAML ビューで、Button コントロールの [Content] の値を Content="Button" から Content="Display"に変更し、変更を保存します。

    ウィンドウは次の図のようになります。

    MainWindow form with control labels

    XAML マークアップは次の例のようになります。

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
         <Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0" VerticalAlignment="Top" Width="75"/>
    </Grid>
    
  1. [ツールボックス] で、 Button コントロールを探し、デザイン サーフェイスの RadioButton コントロールの下に追加します。デザイン ビュー内のフォームにドラッグすると追加されます。 ガイドラインを使用すると、コントロールを中央に配置しやすくなります。

  2. XAML ビューで、Button コントロールの [Content] の値を Content="Button" から Content="Display"に変更し、変更を保存します。

    ウィンドウは次のスクリーンショットのようになります。

    Screenshot of the Design window for Greetings.xaml showing a TextBlock control, two RadioButton controls labeled 'Hello' and 'Goodbye', and a button labeled 'Display'.

    XAML マークアップは次の例のようになります。

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
         <Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0" VerticalAlignment="Top" Width="75"/>
    </Grid>
    

Display ボタンにコードを追加する

このアプリケーションを実行すると、ユーザーがラジオ ボタンを選択した後で [Display] ボタンを選択したときに、メッセージ ボックスが表示されます。 1 つのメッセージ ボックスには Hello と表示され、もう 1 つには Goodbye と表示されます。 この動作を作成するために、MainWindow.xaml.csButton_Click イベントにコードを追加します。

  1. デザイン サーフェイスで、 [Display] ボタンをダブルクリックします。

    MainWindow.xaml.cs が開き、Button_Click イベントにカーソルが表示されます。

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    
    }
    
  2. 次のコードを入力します。

    if (HelloButton.IsChecked == true)
    {
         MessageBox.Show("Hello.");
    }
    else if (GoodbyeButton.IsChecked == true)
    {
        MessageBox.Show("Goodbye.");
    }
    
  3. アプリケーションを保存します。

このアプリケーションを実行すると、ユーザーがラジオ ボタンを選択した後で [Display] ボタンを選択したときに、メッセージ ボックスが表示されます。 1 つのメッセージ ボックスには Hello と表示され、もう 1 つには Goodbye と表示されます。 この動作を作成するために、MainWindow.xaml.csButton_Click イベントにコードを追加します。

  1. デザイン サーフェイスで、 [Display] ボタンをダブルクリックします。

    MainWindow.xaml.cs が開き、Button_Click イベントにカーソルが表示されます。

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    
    }
    

    [表示] ボタンをダブルクリックすると、Click="Button_Click" が XAML に追加されます。

    XAML マークアップは次の例のようになります。

    <Grid>
         <TextBlock HorizontalAlignment="Left" Margin="252,47,0,0" TextWrapping="Wrap" Text="Select a message option and then choose the Display button." VerticalAlignment="Top"/>
         <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="297,161,0,0" VerticalAlignment="Top"/>
         <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="488,161,0,0" VerticalAlignment="Top"/>
         <Button Content="Display" HorizontalAlignment="Left" Margin="377,270,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
    </Grid>
    
  2. 次のコードを入力します。

    if (HelloButton.IsChecked == true)
    {
         MessageBox.Show("Hello.");
    }
    else if (GoodbyeButton.IsChecked == true)
    {
        MessageBox.Show("Goodbye.");
    }
    
  3. アプリケーションを保存します。

アプリケーションのデバッグとテスト

次に、アプリケーションをデバッグしてエラーを探し、両方のメッセージ ボックスが正しく表示されることをテストします。 以下の指示にデバッガーをビルドして起動する方法が示されていますが、詳細については、後で「WPF アプリケーション (WPF) のビルド」および「WPF のデバッグ」を参照することもできます。

MainWindow.xaml の名前を変更する

それでは、MainWindow に具体的な名前を付けましょう。 ソリューション エクスプローラーで、MainWindow.xaml を右クリックし、 [名前の変更] を選択します。 ファイルの名前を Greetings.xaml に変更します。

エラーの検出と修正

この手順では、前に MainWindow.xaml ファイルの名前を変更することで引き起こしたエラーを見つけます。

デバッグを開始し、エラーを見つける

  1. F5 キーを押すか、 [デバッグ][デバッグの開始] の順に選択して、デバッガーを起動します。

    [ブレーク モード] ウィンドウが表示されます。[出力] ウィンドウに、IOException が発生し、''リソース mainwindow.xaml が見つけられない'' ことが示されます。

    IOException message

  2. [デバッグ]>[デバッグの停止] の順に選択し、デバッガーを停止します。

MainWindow.xaml の名前を Greetings.xaml に変更しましたが、このコードではアプリケーションのスタートアップ URI として MainWindow.xaml が指定されたままになっているため、プロジェクトを起動できません。

  1. F5 キーを押すか、 [デバッグ][デバッグの開始] の順に選択して、デバッガーを起動します。

    [ブレーク モード] ウィンドウが表示されます。[出力] ウィンドウに、IOException が発生し、''リソース mainwindow.xaml が見つけられない'' ことが示されます。

    Screenshot of the Output window showing a System.IO.IOException with the message, Cannot locate resource mainwindow.xaml.

  2. [デバッグ]>[デバッグの停止] の順に選択し、デバッガーを停止します。

このチュートリアルの最初で MainWindow.xaml の名前を Greetings.xaml に変更しましたが、このコードではアプリケーションのスタートアップ URI として MainWindow.xaml が指定されたままになっているため、プロジェクトを起動できません。

スタートアップ URI として Greetings.xaml を指定する

  1. ソリューション エクスプローラーで、App.xaml ファイルを開きます。

  2. StartupUri="MainWindow.xaml"StartupUri="Greetings.xaml" に変更し、その変更を保存します。

省略可能な手順として、混乱を避けるために、この新しい名前と一致するようにアプリケーション ウィンドウのタイトルを変更します。

  1. ソリューション エクスプローラーで、名前を変更したばかりの Greetings.xaml ファイルを開きます。

  2. Window.Title プロパティの値を Title="MainWindow" から Title="Greetings" に変更し、その変更を保存します。

デバッガーを再度起動します (F5 を押します)。 以上で、アプリケーションの Greetings ウィンドウが表示されます。

Screenshot of running app

Screenshot of the Greetings window with the TextBlock, RadioButtons, and Button controls visible. The 'Hello' radio button is selected.

アプリケーション ウィンドウを閉じ、デバッグを停止します。

ブレークポイントを使用してデバッグする

ブレークポイントをいくつか追加することで、デバッグ中にコードをテストできます。 ブレークポイントを追加するには、 [デバッグ]>[ブレークポイントの設定/解除] の順に選択するか、中断するコード行の横のエディター ウィンドウの左端の余白をクリックするか、F9 キーを押します。

ブレークポイントを追加する

  1. Greetings.xaml.cs を開き、MessageBox.Show("Hello.") という行を選択します。

  2. [デバッグ][ブレークポイントの設定/解除]の順に選択して、メニューからブレークポイントを追加します。

    コード行の横の、エディター ウィンドウの左端の余白部分に、赤い円が表示されます。

  3. MessageBox.Show("Goodbye.")という行を選択します。

  4. F9 キーを押してブレークポイントを追加し、F5 キーを押してデバッグを開始します。

  5. [Greetings] ウィンドウで、 [Hello] オプション ボタンを選択してから、 [Display] ボタンを選択します。

    MessageBox.Show("Hello.") という行が黄色で強調表示されます。 IDE の下部では、[自動変数]、[ローカル]、[ウォッチ] の各ウィンドウが左側にまとめてドッキングされ、[呼び出し履歴]、[ブレークポイント]、[例外設定]、[コマンド]、[イミディエイト]、[出力] の各ウィンドウが右側にまとめてドッキングされます。

    Breakpoint in the debugger

  6. メニュー バーで [デバッグ]>[ステップ アウト] の順に選択します。

    アプリケーションの実行が再開され、メッセージ ボックスに "Hello" と表示されます。

  7. メッセージ ボックスの [OK] を選択して閉じます。

  8. [Greetings] ウィンドウで、 [Goodbye] オプション ボタンを選択し、 [Display] ボタンを選択します。

    MessageBox.Show("Goodbye.") という行が黄色で強調表示されます。

  9. F5 キーを押してデバッグを続行します。 メッセージ ボックスが表示されたら、メッセージ ボックスの [OK] を選択して、閉じます。

  10. アプリケーション ウィンドウを閉じ、デバッグを停止します。

  11. メニュー バーで、 [デバッグ]>[すべてのブレークポイントを無効にする] の順に選択します。

  1. Greetings.xaml.cs を開き、MessageBox.Show("Hello.") という行を選択します。

  2. [デバッグ][ブレークポイントの設定/解除]の順に選択して、メニューからブレークポイントを追加します。

    コード行の横の、エディター ウィンドウの左端の余白部分に、赤い円が表示されます。

  3. MessageBox.Show("Goodbye.")という行を選択します。

  4. F9 キーを押してブレークポイントを追加し、F5 キーを押してデバッグを開始します。

  5. [Greetings] ウィンドウで、 [Hello] オプション ボタンを選択してから、 [Display] ボタンを選択します。

    MessageBox.Show("Hello.") という行が黄色で強調表示されます。 IDE の下部では、[自動変数]、[ローカル]、[ウォッチ] の各ウィンドウが左側にまとめてドッキングされ、[呼び出し履歴]、[ブレークポイント]、[例外設定]、[コマンド]、[イミディエイト]、[出力] の各ウィンドウが右側にまとめてドッキングされます。

    Screenshot of a debug session in Visual Studio. The code window for Greetings.xaml.cs shows execution stopped at a breakpoint with a line highlighted in yellow.

  6. メニュー バーで [デバッグ]>[ステップ アウト] の順に選択します。

    アプリケーションの実行が再開され、メッセージ ボックスに "Hello" と表示されます。

  7. メッセージ ボックスの [OK] を選択して閉じます。

  8. [Greetings] ウィンドウで、 [Goodbye] オプション ボタンを選択し、 [Display] ボタンを選択します。

    MessageBox.Show("Goodbye.") という行が黄色で強調表示されます。

  9. F5 キーを押してデバッグを続行します。 メッセージ ボックスが表示されたら、メッセージ ボックスの [OK] を選択して、閉じます。

  10. アプリケーション ウィンドウを閉じ、デバッグを停止します。

  11. メニュー バーで、 [デバッグ]>[すべてのブレークポイントを無効にする] の順に選択します。

UI 要素の表現を表示する

実行中のアプリで、ウィンドウの上部にウィジェットが表示されます。 このウィジェットは、いくつかの便利なデバッグ機能にすばやくアクセスできるランタイム ヘルパーです。 最初のボタン [ライブ ビジュアル ツリーに移動する] を選択します。 ウィンドウにページのすべてのビジュアル要素が含まれるツリーが表示されます。 ノードを展開して、追加したボタンを見つけます。

Screenshot of Live Visual Tree window

Screenshot of the Live Visual Tree window, showing the tree of visual elements in HelloWPFApp.exe while it's running.

アプリケーションのリリース バージョンのビルド

すべてが機能することを確認したら、アプリケーションのリリース ビルドを準備できます。

  1. メイン メニューで、 [ビルド]>[ソリューションのクリーン] の順に選択して、前のビルドで作成された中間ファイルと出力ファイルを削除します。 この手順は必須ではありませんが、デバッグ ビルドの出力がクリーンアップされます。

  2. ツールバー上のドロップダウン コントロール (現時点で [デバッグ] になっている) を使って、HelloWPFApp のビルド構成を [デバッグ] から [リリース] に変更します。

  3. [ビルド]>[ソリューションのビルド] を選択して、ソリューションをビルドします。

これでこのチュートリアルは完了です。 ビルドした .exe は、ソリューションとプロジェクトのディレクトリ (...\HelloWPFApp\HelloWPFApp\bin\Release) の下にあります。

次の手順

これでこのチュートリアルは完了です。 さらに詳しく学習するには、引き続き以下のチュートリアルをご覧ください。

関連項目