Xamarin.Forms XAML の基本

Download Sample サンプルをダウンロードします

eXtensible Application Markup Language (XAML) は、オブジェクトをインスタンス化および初期化し、それらのオブジェクトを親子階層で編成するためのプログラミング コードの代わりに、Microsoft によって作成された XML ベースの言語です。 XAML は .NET フレームワーク内のいくつかのテクノロジに適応されていますが、Windows Presentation Foundation (WPF)、Silverlight、Windows ランタイム、ユニバーサル Windows プラットフォーム (UWP) 内のユーザー インターフェイスのレイアウトを定義する上で最も優れたユーティリティを見つけました。

XAML を使用すると、開発者はコードではなくマークアップを使用してアプリケーションの Xamarin.Forms ユーザー インターフェイスを定義できます。 XAML はプログラムでは Xamarin.Forms 必要ありませんが、多くの場合、同等のコードよりも簡潔で視覚的に一貫性があり、ツール可能な可能性があります。 XAML は、一般的な MVVM (Model-View-ViewModel) アプリケーション アーキテクチャでの使用に適しています。XAML は、XAML ベースのデータ バインディングを使用して ViewModel コードにリンクされるビューを定義します。

XAML ファイル内では、 Xamarin.Forms 開発者はすべてのビュー、レイアウト、ページ、およびカスタム クラスを Xamarin.Forms 使用してユーザー インターフェイスを定義できます。 XAML ファイルは、コンパイルすることも、実行可能ファイルに埋め込んだりすることもできます。 どちらの方法でも、XAML 情報はビルド時に解析され、名前付きオブジェクトを検索し、実行時にオブジェクトをインスタンス化して初期化し、これらのオブジェクトとプログラミング コード間のリンクを確立します。

XAML には、同等のコードよりもいくつかの利点があります。

  • XAML は、多くの場合、同等のコードよりも簡潔で読み取り可能です。
  • XML に固有の親子階層を使用すると、ユーザー インターフェイス オブジェクトの親子階層をより視覚的にわかりやすくして XAML を模倣できます。
  • XAML はプログラマが簡単に手書きできますが、ビジュアル デザイン ツールによってツール可能で生成されるのにも役立ちます。

マークアップ言語に組み込まれる制限に主に関連するデメリットもあります。

  • XAML にコードを含めることはできません。 すべてのイベント ハンドラーは、コード ファイルで定義する必要があります。
  • XAML には、繰り返し処理用のループを含めることはできません。 (ただし、いくつかの Xamarin.Forms ビジュアル オブジェクト (特に特に ListView ) は、コレクション内のオブジェクトに基づいて複数の ItemsSource 子を生成できます)。
  • XAML に条件付き処理を含めることはできません (ただし、データ バインディングは、いくつかの条件付き処理を効果的に許可するコード ベースのバインド コンバーターを参照できます)。
  • XAML では、通常、パラメーターなしのコンストラクターを定義しないクラスをインスタンス化することはできません。 (ただし、この制限を回避する方法がある場合があります)。
  • XAML では通常、メソッドを呼び出すことができません。 (繰り返しますが、この制限は克服される場合があります)。

アプリケーションで Xamarin.Forms XAML を生成するためのビジュアル デザイナーはまだありません。 すべての XAML は手動で記述する必要がありますが、2019 年Visual Studio XAML ホット リロードを使用することも、Visual Studio for Macを使用して画面デザインを編集するときに表示することもできます。 XAML で多くの経験を持つ開発者でも、実験がやりがいを持っていることを知っている。

XAML は基本的に XML ですが、XAML には一意の構文機能がいくつかあります。 最も重要なものは次のとおりです。

  • プロパティ要素
  • 添付プロパティ
  • マークアップ拡張機能

これらの機能は XML 拡張機能 ではありません 。 XAML は完全に有効な XML です。 ただし、これらの XAML 構文機能では、一意の方法で XML が使用されます。 以下の記事で詳しく説明します。最後に、XAML を使用して MVVM を実装する方法について説明します。

必要条件

この記事では、.Xamarin.Forms また、この記事では、XML 名前空間宣言の使用、 要素タグ属性に関する用語の理解など、XML について理解していることを前提としています。

XML に慣Xamarin.Formsれている場合は、パート 1 の読み取りを開始します。XAML を使用してはじめにします。

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。