はじめに
この連載では、.NET Core 3時代のWPFプログラミングを解説していきます。
WPF(Windows Presentation Foundation)が2006年に登場してからずいぶん経ちました(Visual Studioが標準対応したのは2007年)。WPFは、これまで.NET Frameworkの上だけで動いていましたが、今年(2019年)になって.NET Coreでも動くようになりました。これを機会にWPFをやってみようという人も、少なからずいらっしゃるでしょう。
WPFが登場したとき、OSはWindows Vista、プラットフォームである.NET Frameworkのバージョンは3.0、開発言語のC#は2.0でした。それが今やWindowsは10になり、最新のプラットフォームは.NET Core 3で、C#はバージョン8です。ずいぶんと様変わりしました(次の図)。以前にWPF開発をやっていた人にとっても、本連載は役に立つでしょう。
Windows 10が主流になりつつある今、それならばUWPアプリかというと、WPFにもメリットがあります。UWPアプリはサンドボックス内で動作するため、エンドユーザーには安心ですが、開発する側からすれば不自由です。対して、WPFならば、自由にプログラミングできます。サンドボックスの制約下では成り立たないシステムツールやそういった業務アプリは、これからもWPFで作ることになるでしょう。しかも、現在のWPFは、UWPのコントロールやAPIも利用可能です。
Windows Formsでの開発経験はあるけれどWPFは初めてという人に、一言。UIをXAML(ザムル)という書き方で表現するのはめんどくさそうに思えるでしょうが、その代わり、コントロールの見た目(外観)を自由にデザインできるんですよ!
今回は、とりあえずプログラムを作ってみないことにはプログラミングのイメージをつかみようがないでしょうから、まずは定石に従って"Hello, world."を作り、それを少しいじってみることにしましょう。
対象読者
- C#プログラミングの経験者
- これからWPFをやってみたい開発者
- Visual Studio 2010などの古い環境を使っているWPF開発者
本連載ではVisual StudioとC#の基礎的な解説はしません。C#でのプログラミング経験があることを前提としています。
必要な環境
.NET Core 3は、Windowsでは7 SP1/8.1/10(1607以降)でサポートされています。.NET Core 3でWPFのプログラミングを行うには、Visual Studio 2019バージョン16.3以降が必要になります。さらにUWP(Univarsal Windows Platform)用のコントロールを利用したい場合には、Windows 10 1903以降が必要になります。
本稿では以下の環境でプログラミングしています。
- Windows 10 1903
- Visual Studio 2019 16.3.8(無償のCommunity Edition)
開発環境を準備する
上にも書いたように、.NET Core 3でWPF開発をするにはVisual Studio 2019バージョン16.3以降が必要です。お持ちでない方は、無償のCommunity Editionをインストールしてください。
インストールするときに、「.NET デスクトップ開発」ワークロードを選択してください(次の画像)。これで.NET Core 3でのWPF開発ができるようになります。
すでに該当のVisual Studioをお持ちでまだ「.NET デスクトップ開発」ワークロードを入れていない方は、Visual Studioのインストーラーを立ち上げて「.NET デスクトップ開発」ワークロードを追加してください。