JetBrains Rider 2026.1 Help

Rider で Avalonia を始めましょう

JetBrains Rider では、Windows、macOS、Linux、iOS、Android、WebAssembly 用の Avaloniaプロジェクトの作成および操作が可能です。 Avalonia は、オープンソースのクロスプラットフォーム UI フレームワークであり、ネイティブ UI コントロールではなく、 スキア(英語)を動力源とする独自のレンダリングエンジンを使用するため、アプリケーションの外観と動作はどのプラットフォームでも同じになります。

JetBrains Rider には、コード補完、ナビゲーション、インスペクション、クイックフィックスなど、Avalonia XAML( .axaml ファイル)の組み込みサポートがあります。 また、 AvaloniaRider(英語) プラグインをインストールすることで、IDE 内で直接ライブ XAML プレビューアーを利用することも可能です。

さらに、 コード解析コーディング支援デバッグ機能を C#や他の言語で利用できるだけでなく、 統合 VCS クライアントなどの一般的な IDE 機能も使用できます。

始める前に

Avalonia テンプレートをインストールする

  1. お使いのコンピューターに .NET SDK(英語) (バージョン 6.0 以降)がインストールされていることを確認してください。

  2. ターミナルで以下のコマンドを実行して、Avalonia プロジェクトテンプレートをインストールします。

    dotnet new install Avalonia.Templates

    これにより、 avalonia.mvvm (MVVM アプリケーション)、 avalonia.app (基本アプリケーション)、 avalonia.xplat (iOS、Android、ブラウザーをターゲットとするクロスプラットフォームアプリケーション)など、いくつかのテンプレートが追加されます。

  3. 必要に応じて、JetBrains Marketplace から AvaloniaRider プラグインをインストールし、JetBrains Rider で XAML プレビュー機能を有効化できます。

モバイルプラットフォームまたは Web プラットフォームを対象とする場合は、対応する .NET ワークロードをインストールしてください。

dotnet workload install android dotnet workload install ios dotnet workload install wasm-tools

新しいアバロニアプロジェクトを作成する

JetBrains Rider には、新しい Avalonia プロジェクト用の設定可能なプロジェクトテンプレートが含まれています。

ファイル | 新規ソリューション… を使用して新しいソリューションに新しい Avalonia プロジェクトを作成するか、ソリューションエクスプローラーでソリューションまたはソリューションフォルダーノードを右クリックして 追加 | 新規プロジェクト を選択することで、既存のソリューションに新しい Avalonia プロジェクトを追加できます。

利用可能な Avalonia テンプレートの中から 1 つを選択してください。

  • Avalonia .NET MVVM アプリケーション — Model-View-ViewModel パターンを使用したデスクトップアプリケーション。 これは、ほとんどのプロジェクトに推奨されるテンプレートです。

  • アバロニア .NET アプリ — コードビハインドを備えた基本的なアプリケーションで、WinForms 開発モデルに似ています。

  • Avalonia クロスプラットフォームアプリケーション — デスクトップ、iOS、Android、ブラウザーをターゲットとしたプロジェクトが含まれています。

JetBrains Rider: 新規プロジェクト。 Avalonia

AXAML を編集する

JetBrains Rider は、Avalonia XAML ファイル( .axaml )に対して、コード補完、構文ハイライト、エラー解析、ナビゲーションなどの豊富な編集体験を提供します。

Rider は、 CompiledBindingx:CompileBindings 拡張機能など、Avalonia 固有の XAML 構文を理解します。 Avalonia ではコンパイル済みバインディングがデフォルトで有効になっているため、バインディングはコンパイル時に解決され、パフォーマンスの向上とエラーの早期検出が可能になります。

XAML から基となるコードへ、また XAML へと移動できます。

  • Ctrl+B は、対応するビューモデルプロパティに移動するためのバインディングパス上にあります。

  • XAML 名前空間エイリアス上の Ctrl+B を使用して、参照先の .NET 名前空間に移動します。

  • 使用箇所の検索 Alt+F7 を使用して、コードベース全体で Avalonia のコントロールとプロパティが参照されている箇所を特定します。

JetBrains Rider は、Avalonia 固有のインスペクションと正しく慣用的な AXAML マークアップの記述を支援するクイックフィックスも提供します。

JetBrains Rider. Avalonia .axaml でのコード補完

AXAML プレビューアー

AvaloniaRider(英語) プラグインがインストールされている場合、AXAML を編集しながらリアルタイムでプレビューできます。 プレビュー機能はエディターの横にあるツールウィンドウに表示され、マークアップを変更するとリアルタイムで更新されます。

プレビュー機能を使用するには、プレビュー機能がすべての型とリソースを解決できるように、プロジェクトを少なくとも一度ビルドしてください。 その後、AXAML エディターでの変更はプレビューに即座に反映されます。 プレビュー機能が変更に反応しなくなった場合は、プロジェクトを再ビルドしてください。

JetBrains Rider: Avalonia 用 AXAML プレビューアー

設計時特性

Avalonia は、XAML プレビューアーでのみ適用され、実行中のアプリケーションには影響しないデザイン時プロパティをサポートしています。 これらのプロパティを使用すると、アプリケーションを繰り返しビルドすることなく、UI のスタイル設定や配置を行うことができます。

デザイン時プロパティを使用するには、AXAML ファイルに次の名前空間を追加します。

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

この名前空間を使用すると、以下のプロパティが利用可能になります。

  • d:DesignWidthd:DesignHeight は、プレビューキャンバスの幅と高さを設定します。

  • d:DataContext — プレビューにデータ コンテキストを割り当てます。通常は {x:Static} ディレクティブと併用し、ビュー モデル インスタンスを返す静的プロパティの参照に使用します。

d:DataContext の代替として、 Design.DataContext 添付プロパティを AXAML で直接使用することもできます。

<Design.DataContext> <vm:MyViewModel /> </Design.DataContext>

ビューモデルでコンストラクターパラメーターが必要な場合(たとえば、依存性インジェクションを使用する場合)、コードビハインドで Design.SetDataContext を使用してください。

if (Design.IsDesignMode) { Design.SetDataContext(this, new MainWindowViewModel(new DialogService())); }

詳細については、 Avalonia の XAML プレビューとデザイン時設定に関するドキュメント(英語)を参照してください。

Avalonia アプリケーションの実行とデバッグ

Avalonia プロジェクトを作成または開くと、JetBrains Rider が自動的に 実行/デバッグ構成を作成し、それを使ってプロジェクトを実行できます。

デスクトップアプリケーションの場合は、実行構成を選択し、ツールバーの 実行 または デバッグ をクリックします。 アプリケーションは、現在使用しているオペレーティングシステム上で起動します。

ソリューションにプラットフォーム固有のプロジェクト(たとえば、iOS や Android)が含まれている場合は、対応する実行構成を選択して、シミュレーターまたは接続されたデバイスにデプロイできます。

C# コードの任意の場所に ブレークポイントを設定し、デバッグモードでアプリケーションを実行します。 ブレークポイントに到達すると実行が一時停止し、 変数のインスペクション式の評価コードのステップ実行が可能です。

スタイリングとテーマ設定

Avalonia は、WPF とは異なる CSS ライクなスタイルシステムを採用しています。 スタイルは .axaml ファイルで定義され、グローバルに適用することも、特定のコントロールにのみ適用することも可能です。

Avalonia には、オペレーティングシステムのライトモードまたはダークモードに自動的に適応する Fluent テーマが組み込まれています。 また、Material Design などのコミュニティ提供のテーマを使用したり、アプリケーション用に完全にカスタマイズされた外観を作成したりすることもできます。

Avalonia はネイティブ UI コントロールではなく Skia を介してすべてをレンダリングするため、アプリケーションはどのプラットフォームでも同じように表示されます。 これにより、プラットフォーム固有のカスタマイズを行うことなく、視覚的な外観を完全に制御できます。

Avalonia のビルド概要

ネイティブ UI コントロールを抽象化するフレームワーク(.NET MAUI など)とは異なり、Avalonia はすべての UI 要素を Skiaレンダリング エンジンで自ら描画します。これは Google Chrome や Flutter でも使われている技術です。

このアーキテクチャにはいくつかの利点があります。

  • 一貫したレンダリング — アプリケーションは、Windows、macOS、Linux、その他のプラットフォームで同じように表示されます。

  • より簡単なプラットフォームサポート — 新しいターゲットプラットフォームを追加するには、ウィンドウ処理バックエンドとユーザー入力処理のみが必要です。 レンダリングレイヤーは変更されません。

  • 組み込み機器および低消費電力機器 — Avalonia は、完全なデスクトップ環境を必要とせずに、Linux のフレームバッファを使用して Raspberry Pi などのデバイス上で動作させることができます。

Windows 環境では、Avalonia はウィンドウ処理に Win32 を使用します。 macOS 環境では、独自のネイティブバインディング(AppKit)を使用します。 Linux 環境では、組み込みシナリオ向けに X11 またはフレームバッファを使用します。

WPF からの移行

Avalonia は WPF に影響を受けており、XAML マークアップ、データバインディング、コントロールテンプレート、ビジュアル / 論理ツリーモデルなど、多くの概念を共有しています。 WPF の経験があれば、既存の知識のほとんどを Avalonia の開発に活用できます。

注意すべき主な相違点:

  • Avalonia の XAML ファイルは .axaml 拡張子を使用します(ただし、 .xaml でも動作します)。

  • スタイリングシステムは、WPF のスタイル/トリガーモデルではなく、CSS に似たものを採用しています。

  • パフォーマンス向上のため、コンパイル済みバインディングはデフォルトで有効になっています。

  • Avalonia では、一部の WPF コントロールは異なる名前、または若干異なる API を持つ場合があります。

大規模な移行には、WPF の内部機構を Avalonia のレンダリング エンジンで置き換え、既存の WPF アプリケーションを最小限のコード変更で macOS や Linux 上で実行可能にする Avalonia XPFの利用を検討してください。

2026 年 6 月 12 日