LoginSignup
1
4

More than 1 year has passed since last update.

.NET MAUI (環境構築からHallo, World!~Windowsアプリ編~)

Last updated at Posted at 2022-05-28

.NET MAUIとは

.NET Multi-Platform App UI (.NET MAUI) は、C# と XAML を使用して、ネイティブのモバイル アプリやデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。

開発環境

  • Windows 11
    ※Windowsの開発者モードを有効にする必要あり
  • Visual Studio 2022 17.3 (Preview)

取り急ぎWindowsアプリだけ動けばよいので、Android SDKは入れてません。
※ iOS/Macアプリには開発環境としてMacが必要です。

Visual Studio 2022 17.3 (Preview) をインストール

ここ からダウンロードして、Visual Studio Installerを起動する。

「.NET Multi-platform App UI development」を選択された状態でインストール開始する。
image.png

MAUIプロジェクトの新規作成

インストールが完了するとVisual Studioが起動します。

[新しいプロジェクトの作成]をクリックする。
image.png

「.NET MAUI アプリ」を選択して[次へ]をクリックする。
image.png

プロジェクトの名前を入力して[作成]をクリックする。
image.png

とりあえずHallo, World!

.csprojファイルを編集して、ビルド対象をWindowsアプリだけに変更する。
TizenやLinuxもサポートされるようです。


<!-- TargetFrameworksをnet6.0-Windowsだけにする。
<TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
-->
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
<!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->

そのままビルドすると配置を有効にしろと怒られるので、有効にする。
image.png

アプリを実行してみる。
image.png

プロジェクトの中身

構成

プラットフォームごとのフォルダがあり、専用の処理やリソースを配置できます。
image.png

メインページのXAML

XAML デザイナー(XAMLのプレビュー表示&GUIでの編集)がないみたいですが、リリース版では対応されるでしょう。
image.png

メインページのコード

namespace MauiAppDemo;

public partial class MainPage : ContentPage
{
	int count = 0;

	public MainPage()
	{
		InitializeComponent();
	}

	private void OnCounterClicked(object sender, EventArgs e)
	{
		count++;

		if (count == 1)
			CounterBtn.Text = $"Clicked {count} time";
		else
			CounterBtn.Text = $"Clicked {count} times";

		SemanticScreenReader.Announce(CounterBtn.Text);
	}
}

※SemanticScreenReader.Announceは音声読み上げだそうです。

参考

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4