【プレビュー版】MAUIのよくある処理の早見表
MAUI(プレビュー版)を使って、ちょっくら本格的なアプリを作ってみようと思うので、今現在(2021/12/12)での、よく使うであろう関数について紹介していく。
※ この記事は、適宜、欲しいと思った内容を追加していきます。
前書き
と言っても、現在(2021/12/12)のバージョンでは、元のXamarin.Formsとの違いは殆どない。基本的には、何か悩みがあったとしても…
上記のような、Mamarin.Formsのマイクロソフトさんの資料を読むだけで解決する。
前提
この記事では、導入説明はしません。
マイクロソフト公式の「.NET MAUIのインストール」をご覧ください。
また、基本的な仕組みに関しても、Xamarinと違いはありません。
なお、書いている人は、Xamarinをほとんど知りません。誤植あったらすまぬ。
ちなみにPageの基本形は、これです。
using System;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;
namespace MauiApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
}
}
早見表
Eventについて知りたい
特に、Xamarinの各elementの紹介に書いてあるEventと違いはない。
Labelならこれで、動く。
タイマーを設置したい
Xamarin FormsのDevice.StartTimerと違いはない。
強いて言えば、Deviceを呼び出す元が、Xamarin.Forms.
からMicrosoft.Maui.Controls.
になったという点である。
ちなみに下の奴は、「1秒後に、中の処理を行う」というものである。
Device.StartTimer(new System.TimeSpan(1 * 10000000), () =>
{
# やりたいこと
return false; // 用途によってはtrue
});
フェードをしたい
Xamarin FormsのViewExtensions.FadeToと違いはない。
下の奴は、「2秒かけて、透明度を0にする。この時、フェードの変化(イージング)具合は、CubicInにする。」というもの。
a_label.Opacity = 1;
a_label.FadeTo(0, 2 * 1000, Microsoft.Maui.Easing.CubicIn);
ちなみにPageが完成して表示されていないのに、フェードかけようとするとエラー吐いて死にます(「アニメーションできる環境じゃないよ」と言われる)。
なので、なんとかして、Page完全表示後に処理させてください。
画面遷移
Navigation.PushlAsync(new Page1(), true);
Navigation.PushModalAsync(new Page1(), true);
Discussion