Skip to content

ATF Wpf App Sample_j

Gary edited this page Mar 17, 2015 · 2 revisions

Table of Contents

説明

WpfApp は、WPF の基本的なサンプルアプリケーションです。MEF を使用して、ATF コンポーネントを備えた WPF アプリケーションを作成する方法を示します。これはエディターのようなアプリケーションの開始点ですが、WpfApp は編集機能を提供していません。

WpfApp サンプルのコードの多くは WinFormsApp サンプルと共通であるため、この 2 つが提供する機能のセットは似ています。実際、この 2 つのアプリケーションは 2、3 のファイルが異なるだけで、アプリケーションコードの大部分は共通です。このため、ATF アプリケーションを開発して WinForms と WPF 間で容易に変換できます。

サンプルのプログラム方法に関する詳細は、WinForms and WPF Apps Programming Discussion をご覧ください。

WpfApp が示す ATF の機能

  • MEF (Managed Extensibility Framework) を使用したアプリケーションのまとめ。
  • CommandServiceSettingsServiceControlHostService、および WindowLayoutService を含むアプリケーションシェルフレームワークの使用。
  • SchemaLoader を使用したスキーマのロード。

WpfApp の実行

  1. \bin\wws_atf\Release にある WpfApp.exe をダブルクリックします。
  2. アプリケーションデータのリストボックスを含むダイアログが表示されます。

メニューおよびツールバーオプション

  • [File] (ファイル): [New Gui App Data] ((.gad) ファイルを新規作成)、[Open Gui App Data] (Gui App Data を開く)、[Save] (保存)、[Save As] (名前を付けて保存)、[Save All] (すべて保存)、[Close] (閉じる)、および [Exit] (終了)。
  • [Edit] (編集)
    • [Preferences] (基本設定): 新しいドキュメントの自動読み込みなど、アプリケーションの詳細を設定します。
  • [Load or Save Settings] (設定を読み込み/保存): このウィンドウを使用して、現在の WpfApp のアプリケーション設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
  • [Window] (ウィンドウ)
    • [Layouts] (レイアウト)
      • [Save Layout As] (レイアウトに名前を付けて保存): 現在のレイアウトに名前を付けて保存します。
      • [Manage Layouts] (レイアウトを管理): レイアウトのリストを表示し、リストを管理します。
    • チェックボックス付きのメニューアイテムのリスト: コントロールをクリックするとチェックマークが付き、アクティブ化します。
ツールバーでは、[File] コマンドの保存、名前を付けて保存、すべて保存、新規作成、および既存の Gui App Data (.gad) ファイルを開くの各ボタンを選択的に使用できます。

WpfApp の使用法

WpfApp はイベント、アニメーション、その他の型を含むスキーマを提供します。また、スキーマをロードする機能もあります。DomNode オブジェクトに関連したイベントおよびリソースを処理するコードもありますが、アプリケーションデータの作成および変更のための編集機能はありません。

WpfApp のモジュール

モジュールには次のような機能があります。

  • App.xaml.cs: AtfApp から派生した、App クラスを含みます。このプログラムが、使用されている ATF クラスおよび内部クラスをリストした TypeCatalog を作成します。
  • Editors.cs: IDocumentClient を実装して、ドキュメントを開き、表示し、保存し、閉じることができるようにします。
  • SchemaLoader.cs: イベントスキーマをロードし、データ拡張を DOM 型に登録し、型に表示情報と PropertyDescriptor の注釈を付けます。
  • EventContext.cs および WinGuiCommonDataContext.cs: データのコンテキストを提供します。

このセクションのトピック一覧

Clone this wiki locally