この記事では、アンカーやスナップ線などの Windows フォーム レイアウト機能を使用して、Windows Presentation Foundation (WPF) コントロールを配置する方法について説明します。
[前提条件]
このチュートリアルを完了するには、Visual Studio が必要です。
プロジェクトを作成する
Visual Studio を開き、ArrangeElementHostという名前の Visual Basic または Visual C# で新しい Windows フォーム アプリケーション プロジェクトを作成します。
注
WPF コンテンツをホストする場合は、C# プロジェクトと Visual Basic プロジェクトのみがサポートされます。
WPF コントロールを作成する
WPF コントロールをプロジェクトに追加した後は、フォームに配置できます。
新しい WPF UserControl をプロジェクトに追加します。 コントロールの種類に既定の名前を使用
UserControl1.xaml。 詳細については、「チュートリアル: デザイン時に Windows フォームに新しい WPF コンテンツを作成するを参照してください。デザイン ビューで、
UserControl1が選択されていることを確認します。プロパティの値を青 に設定します。 プロジェクトをビルドします。
レイアウト パネルで WPF コントロールをホストする
他の Windows フォーム コントロールを使用するのと同じ方法で、レイアウト パネルで WPF コントロールを使用できます。
Windows フォーム デザイナーで
Form1を開きます。ツールボックスで、TableLayoutPanel コントロールをフォームにドラッグします。
コントロールのスマート タグ パネルで、[最後の行 削除] を選択します。 TableLayoutPanel コントロールのサイズを大きな幅と高さに変更します。
ツールボックスで、
UserControl1をダブルクリックして、UserControl1コントロールの最初のセルに TableLayoutPanel のインスタンスを作成します。UserControl1のインスタンスは、ElementHostという名前の新しいelementHost1コントロールでホストされます。ツールボックスで、
UserControl1をダブルクリックして、TableLayoutPanel コントロールの 2 番目のセルに別のインスタンスを作成します。[ドキュメント アウトライン ウィンドウで、
tableLayoutPanel1を選択します。プロパティ ウィンドウで、Padding プロパティの値を 10、10、10、10に設定します。
両方の ElementHost コントロールは、新しいレイアウトに合わせてサイズが変更されます。
スナップ線を使用して WPF コントロールを配置する
スナップ線を使用すると、フォーム上のコントロールを簡単に配置できます。 スナップ線を使用して、WPF コントロールを配置することもできます。 詳細については、「チュートリアル: スナップ線を使用した Windows フォームでのコントロールの配置」を参照してください。
ツールボックスから、
UserControl1のインスタンスをフォームにドラッグし、TableLayoutPanel コントロールの下のスペースに配置します。UserControl1のインスタンスは、ElementHostという名前の新しいelementHost3コントロールでホストされます。スナップ線を使用して、
elementHost3の左端を TableLayoutPanel コントロールの左端に揃えます。スナップ線を使用して、
elementHost3コントロールと同じ幅に TableLayoutPanel サイズを設定します。コントロール間に中央揃えのスナップ線が表示されるまで
elementHost3を TableLayoutPanel コントロールの方へ移動します。プロパティ ウィンドウで、Margin プロパティの値を 20、20、20、20に設定します。
中央のスナップ線が再び表示されるまで、
elementHost3を TableLayoutPanel コントロールから離します。 中央のスナップ線は、余白が 20 であることを示します。左端が
elementHost3の左端に揃うまで、elementHost1を右に移動します。右端が
elementHost3の右端に揃うまで、elementHost2の幅を変更します。
WPF コントロールを固定してドッキングする
フォームでホストされている WPF コントロールには、他の Windows フォーム コントロールと同じアンカーとドッキング動作があります。
[
elementHost1] を選択します。プロパティ ウィンドウで、Anchor プロパティを Top、Bottom、Left、Rightに設定します。
TableLayoutPanel コントロールのサイズを大きくします。
elementHost1コントロールがセルを埋めるようにサイズ変更されます。[
elementHost2] を選択します。プロパティ ウィンドウで、Dock プロパティの値を Fillに設定します。
elementHost2コントロールがセルを埋めるようにサイズ変更されます。TableLayoutPanel コントロールを選択します。
[
elementHost3] を選択します。-
elementHost3コントロールは、フォーム上の残りのスペースを埋めるようにサイズが変更されます。 フォームのサイズを変更します。
3 つの ElementHost コントロールはすべて適切にサイズ変更されます。
詳細については、「方法: TableLayoutPanel コントロールで子コントロールを固定およびドッキングする」を参照してください。
こちらも参照ください
.NET Desktop feedback