Windows フォーム開発者向け WPF デザイナ
更新 : 2007 年 11 月
Windows Presentation Foundation (WPF) Designer for Visual Studio には、Windows フォーム デザイナとの類似点が多数ありますが、相違点もいくつかあります。このトピックでは、これらの相違点の一部、および、Windows フォーム デザイナで実行できるタスクを WPF デザイナで行う方法について説明します。
XAML の重視
Windows フォーム デザイナと WPF デザイナの最大の相違点は分割ビューです。分割ビューでは、デザイン サーフェイスと XAML マークアップを同時に表示することができます。WPF デザイナは、XAML ビューに重点を置き、IntelliSense など、アプリケーションの XAML に適したフル機能の編集環境を提供します。XAML ビューを使用して、Windows フォーム デザイナで実行できるタスクの多くを実行できます。分割ビューでは、XAML ビューで編集した効果が表示されるので、即座に結果を確認できます。分割ビューの詳細については、「分割ビュー : WPF デザイン サーフェイスと XAML を同時に表示する」を参照してください。
Visual Studio と共に Expression Blend を使用して、WPF デザイナでサポートされていないタスクを行うこともできます。詳細については、「Expression Blend との連携」を参照してください。
WPF デザイナの機能強化
WPF デザイナには、Windows フォーム デザイナでは利用できない各種の機能強化が含まれています。強化された機能は次のとおりです。
マージン線とマージン スタブ : 各コントロールを囲むマージン線は、そのコントロールにマージンが設定されていることを示します。マージン スタブは、コントロールの端にマージンが設定されていないことを示します。
ズーム コントロール : デザイン ビューの左上に表示され、開発者はデザイン サーフェスの拡大/縮小によって正確な調整を行うことができます。
スナップ線 : スナップ線は WPF デザイナと Windows フォーム デザイナのどちらにも表示されますが、WPF デザイナには正確な値も表示されます。スナップ線は、コントロールの配置を示すだけでなく、テキスト ベースのコントロールではテキストの配置も示します。詳細については、「方法 : テキストのベースラインとマージンの両方に整列させる」を参照してください。
Windows フォーム デザイナのタスクとそれに対応する WPF デザイナの操作
次の表は、WPF デザイナで各種タスクを行う方法を理解するのに役立つ対応表です。
Windows フォーム デザイナのタスク |
対応する WPF デザイナの操作 |
||
---|---|---|---|
絶対レイアウト |
Canvas クラスをルート要素として使用します。 |
||
[プロパティ] ウィンドウのアルファベット順並べ替え |
プロパティを検索するには、[プロパティ] ウィンドウの [検索] ボックスを使用します。 プロパティを閲覧するには、XAML ビューまたはコード エディタで IntelliSense を使用します。オブジェクト ブラウザを使用することもできます。 |
||
固定 |
Grid およびデザイン ビューの固定機能を使用して固定対象を設定します。 |
||
アニメーション |
Expression Blend を使用します。 |
||
アプリケーション アイコン |
|||
タブ オーダーの割り当て |
各コントロールを選択し、XAML ビューまたは [プロパティ] ウィンドウで対応する TabIndex プロパティを設定します。既定のタブ オーダーは、親コンテナでコントロールが表示される順序です。 |
||
コンポーネントおよびコンポーネント トレイ |
WPF デザイナのツールボックスには、非可視のコンポーネントは表示されません。XAML ビューおよび名前空間マッピングを使用して、リソースおよび非ローカル型を参照します。詳細については、「方法 : 名前空間を XAML にインポートする」を参照してください。 |
||
[データ ソース] ウィンドウとデータ バインディング |
このリリースでは、WPF デザイナは [データ ソース] ウィンドウをサポートしていません。データ ソースおよびデータ バインディングを定義するには、XAML ビューを使用します。 XML またはオブジェクトへのバインドの場合は、Expression Blend を使用してデータ ソースおよびデータ バインディングを定義することもできます。自動生成された XAML をコピーし、WPF デザイナの XAML ビューへ貼り付けます。Expression Blend で Visual Studio プロジェクトを開き、リソースを直接作成することもできます。 |
||
イベント ハンドラの宣言とアタッチ |
既定のイベント ハンドラの場合は、デザイン ビューでコントロールをダブルクリックします。それ以外のイベントの場合は、XAML ビューで IntelliSense を使用し、ドロップダウン リストで目的のイベントを選択します。詳細については、「方法 : 単純なイベント ハンドラを作成する」を参照してください。 |
||
メニューのデザイン |
XAML ビューを使用するか、Items コレクションの [プロパティ] ウィンドウでコレクション エディタを使用して各アイテムの Header プロパティを設定します。 |
||
ブラシおよびカラーの定義 |
グラデーション ブラシなど、複雑なブラシの場合は、Expression Blend を使用します。自動生成された XAML をコピーし、WPF デザイナの XAML ビューへ貼り付けます。Expression Blend で Visual Studio プロジェクトを開き、リソースを直接作成することもできます。 |
||
グリッド線の削除 |
XAML ビューを使用して対応する行の定義または列の定義を削除し、親となっている Grid 内の関連する子コントロールの Grid.Column または Grid.Row の割り当てを調整します。 |
||
イメージの表示 |
プロジェクトにイメージを追加し、そのビルド アクションを [Resource] に設定します。デザイン サーフェイスに Image コントロールを配置し、[プロパティ] ウィンドウでその Source プロパティを設定します。詳細については、「方法 : Image コントロールにイメージを割り当てる」を参照してください。Pack URI 構文を使用してソース イメージを設定することもできます。詳細については、「Windows Presentation Foundation におけるパッケージの URI」を参照してください。 |
||
ツールボックスでの UserControl の表示 |
ユーザー コントロールのアセンブリへのプロジェクト参照を追加し、XAML ビューで IntelliSense を使用して xmlns 属性を割り当てます。 [ツールボックス アイテムの選択] ダイアログ ボックスを使用してコントロールが含まれるアセンブリを参照することもできますが、この方法には制限があります。詳細については、「[ツールボックス アイテムの選択] ダイアログ ボックスの [WPF コンポーネント] タブ」を参照してください。 |
||
フォーム全体へのコントロールの配置 |
StackPanel 要素を使用します。 |
||
ドッキング |
複数のコントロールに DockPanel 要素を使用します。Grid を使用し、グリッド線へのスナップを使用して、グリッドのセルの境界線に合わせてコントロールをスナップさせることもできます。 |
||
エラー プロバイダ |
ビジュアル デザイン環境はありません。XAML ビューで Validation クラスを使用します。詳細については、「方法 : バインディングの検証の実装」を参照してください。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
定義へ移動 |
プロジェクト内のすべての XAML ファイルを開き、[検索と置換] ウィンドウを使用します。詳細については、「[検索と置換] ウィンドウ」を参照してください。 |
||
ヘルプ プロバイダ |
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
||
ハイパーリンク |
フロー コンテンツ内で Hyperlink クラスを使用します。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
ロック |
サポートされていません。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
ニーモニック |
アンパサンド (&) の代わりにアンダースコア (_) をニーモニック文字の前に付けます。 |
||
[プロパティ] ウィンドウ内のオブジェクト選択ドロップダウン リスト |
[ドキュメント アウトライン] ウィンドウ、タグ ナビゲータ、またはデザイン ビューでオブジェクトを選択します。[ドキュメント アウトライン] ウィンドウを表示するには、[表示] メニューの [その他のウィンドウ] をポイントし、[ドキュメント アウトライン] をクリックします。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
XAML での非ローカル型の参照 |
プロジェクト参照を追加し、XAML ビューで IntelliSense を使用して xmlns 属性を設定します。詳細については、「方法 : 名前空間を XAML にインポートする」を参照してください。
|
||
名前変更およびリファクタリング |
プロジェクト内のすべての XAML ファイルを開き、[検索と置換] ウィンドウを使用します。詳細については、「[検索と置換] ウィンドウ」を参照してください。 |
||
マージンの削除 |
デザイン ビューで、マージンを削除する対象の要素をすべて選択します。[プロパティ] ウィンドウで、Margin プロパティに「0」を入力します。 |
||
コントロール配置後のフォームのサイズ変更 |
ウィンドウのサイズを変更するとそのコンテンツのサイズも変更される場合があるので、次の処理を行います。すべての要素を選択し、切り取ります。次に、ウィンドウのサイズを変更し、切り取った要素を貼り付けます。 |
||
Button、Label、CheckBox、RadioButton の各コントロールのテキストの設定 |
[プロパティ] ウィンドウで、Content プロパティを設定します。また、XAML ビューでもテキストを設定できます。 |
||
フォント プロパティ、リソース、ブラシ、カラーなどの複雑なプロパティのビジュアル設定 |
XAML ビューまたは Expression Blend を使用します。 |
||
スマート タグ |
サポートされていません。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
ツールヒント |
ビジュアル デザイン環境はありません。XAML ビューで ToolTip クラスを使用します。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
ビジュアル継承 |
サポートされていません。 |
||
ビジュアル デザイン環境はありません。XAML ビューを使用します。 |
|||
z オーダー |
XAML ビューで要素タグを選択して移動するか、デザイン ビューでコンテキスト メニューの [順序] をクリックします。要素の z オーダーを確認するには、[ドキュメント アウトライン] ウィンドウを使用します。 |
参照
概念
Windows フォーム コントロールおよび同等の WPF コントロール