ATF Wpf App Sample_j - kaisu1986/ATF GitHub Wiki
WpfApp は、基本的な WPF サンプルのアプリケーションです。 MEF を使用して、ATF コンポーネントを備えた WPF アプリケーションを作成する方法を示します。 これはエディタのようなアプリケーションの開始点ですが、WpfApp では編集機能を提供していません。
WpfApp サンプルのコードの多くは WinFormsApp サンプルと共通であるため、この 2 つが提供する機能のセットは似ています。 実際、この 2 つのアプリケーションは 2、3 のファイルが異なるだけで、アプリケーションコードの大部分は共通です。 このため、ATF アプリケーションを開発して WinForms と WPF 間で容易に変換できます。
このサンプルの内容は、WinForms and WPF Apps Programming Discussion を参照してください。
- MEF (Managed Extensibility Framework) を使用して、アプリケーションをまとめる。
- CommandService、SettingsService、ControlHostService、および WindowsLayoutService を含むアプリケーションシェルフレームワークの使用。
- SchemaLoader を使用したスキーマのロード。
- ATF\Samples\WpfApp\bin\Release にある WpfApp.exe をダブルクリックします。
- アプリケーションデータのリストボックスを含むダイアログが表示されます。

- [File] (ファイル): [New] (.gad ファイルの新規作成)、[Open] (既存の .gad ファイルを開く)、[Save] (保存)、[Save] (名前を付けて保存)、[Save] (すべて保存)、[Close] (閉じる) および [Exit] (終了)。
- [Edit] (編集)
- [Preferences] (設定): 新規ドキュメントの自動読み込みなど、アプリケーションの詳細を設定します。
- [Load]: このウィンドウを使用して、現在の WpfApp のアプリケーション設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
- [Window] (ウィンドウ):
- [Layouts] (レイアウト):
- [Save] (名前を付けてレイアウトを保存): 現在のレイアウトに名前を付けて保存します。
- [Manage] (レイアウトの管理): レイアウトのリストを表示し、リストを管理します。
- チェックボックス付きのメニューアイテムのリスト: コントロールをクリックするとチェックマークが付き、アクティブ化します。
- [Layouts] (レイアウト):
WpfApp はイベント、アニメーション、その他の型を含むスキーマを提供します。また、スキーマをロードする機能もあります。 WpfApp には、DomNode に関連したイベントおよびリソースを処理するコードもありますが、 アプリケーションデータの作成および変更のための編集機能はありません。
モジュールには次のような機能があります。
- Program.cs: Main プログラムを含みます。 このプログラムが、使用されている ATF クラスおよび内部クラスをリストした TypeCatalog を作成します。
- Editor.cs: IDocumentClient を実装して、ドキュメントを開き、表示し、保存し、閉じることができるようにします。
- SchemaLoader.cs: イベントスキーマをロードし、データ拡張を DOM 型に登録し、型に表示情報と PropertyDescriptors の注釈を付けます。
- EventContext.cs および WinGuiCommonDataContext.cs: データのコンテキストを提供します。