📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == Avalonia UIのXMLマークアップ言語は、ユーザインターフェイスを宣言的に定義するための強力なツールである。<br> このマークアップ言語はXAMLに似ているが、Avaloniaに特化した機能と構文を持つ。<br> <br> Avalonia XMLの基本構造は、ルート要素から始まり、<code><Window></code>や<code><UserControl></code>等のコントロールが使用される。<br> これらの要素内…」
 
34行目: 34行目:
Avalonia XMLはカスタムコントロールの定義およびユーザコントロールの定義もサポートしている。<br>
Avalonia XMLはカスタムコントロールの定義およびユーザコントロールの定義もサポートしている。<br>
これにより、再利用可能なUIコンポーネントを定義して、アプリケーション全体で使用することができる。<br>
これにより、再利用可能なUIコンポーネントを定義して、アプリケーション全体で使用することができる。<br>
<br><br>
== 名前空間宣言 ==
Avalonia XMLファイルの最上部で名前空間を宣言する。<br>
これにより、使用する要素やプロパティの出処を指定する。<br>
<br>
<syntaxhighlight lang="xml">
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
</syntaxhighlight>
<br><br>
== 要素構文 ==
XMLの基本ルールに従い、要素は開始タグと終了タグで囲まれる。<br>
<syntaxhighlight lang="xml">
<ElementName>内容</ElementName>
</syntaxhighlight>
<br>
自己終了要素も使用可能である。<br>
<syntaxhighlight lang="xml">
<ElementName />
</syntaxhighlight>
<br><br>
== 属性構文 ==
要素のプロパティは属性として設定できる。<br>
<syntaxhighlight lang="xml">
<ElementName Property1="Value1" Property2="Value2" />
</syntaxhighlight>
<br><br>
== プロパティ要素構文 ==
複雑なプロパティ値の場合、プロパティ要素構文を使用する。<br>
<syntaxhighlight lang="xml">
<ElementName>
  <ElementName.PropertyName>
    複雑な値
  </ElementName.PropertyName>
</ElementName>
</syntaxhighlight>
<br><br>
== マークアップ拡張 ==
特殊な値や動的な値を設定する場合に使用する。(中括弧で囲む)<br>
<syntaxhighlight lang="xml">
Property="{MarkupExtension}"
</syntaxhighlight>
<br>
主な種類を以下に示す。<br>
* バインディング
*: データソースとUIをつなぐ。
*: 例: <code>Text="{Binding Name}"</code>
*: <br>
* スタティックリソース
*: 定義済みリソースを参照する。
*: 例: <code>Background="{StaticResource PrimaryBrush}"</code>
*: <br>
* テンプレートバインディング
*: テンプレート内で親要素にバインドする。
*: 例: <code>Content="{TemplateBinding Content}"</code>
<br><br>
== イベントハンドラ ==
イベントをコードビハインドのメソッドにバインドする。<br>
<syntaxhighlight lang="xml">
<Button Click="Button_Click" />
</syntaxhighlight>
<br><br>
== コレクション構文 ==
要素のコレクションプロパティを設定する場合に使用する。<br>
<syntaxhighlight lang="xml">
<ElementName>
  <ElementName.CollectionProperty>
    <Item1 />
    <Item2 />
  </ElementName.CollectionProperty>
</ElementName>
</syntaxhighlight>
<br><br>
== コメント ==
通常のXML形式でコメントを記述できる。<br>
<syntaxhighlight lang="xml">
<!-- これはコメントです -->
</syntaxhighlight>
<br><br>
== 条件付きコンパイル ==
XAML内で条件付きコンパイルを使用できる。<br>
<syntaxhighlight lang="xml">
<ElementName x:if="条件">
  条件が真の場合のみ含まれる内容
</ElementName>
</syntaxhighlight>
<br><br>
<br><br>