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

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