WPF ツールボックス コントロールを作成する
WPF (Windows Presentation Framework) ツールボックス コントロール テンプレートを使用すると、拡張機能のインストール時に自動的に ツールボックス に追加される WPF コントロールを作成できます。 このチュートリアルでは、テンプレートを使用して、他のユーザーに配布できる ツールボックス コントロールを作成する方法について説明します。
ツールボックス コントロールを作成する
WPF ツールボックス コントロールを使用して拡張機能を作成する
MyToolboxControl
という名前の VSIX プロジェクトを作成します。 VSIX プロジェクト テンプレートは、 [新しいプロジェクト] ダイアログで「vsix」と検索すると見つかります。プロジェクトが開いたら、
MyToolboxControl
という名前の WPF ツールボックス コントロール 項目テンプレートを追加します。 ソリューション エクスプローラーで、プロジェクト ノードを右クリックして、 [追加]>[新しい項目]の順に選択します。 [新しい項目の追加] ダイアログで、 [Visual C#]>[拡張性] に移動して、 [WPF ツールボックス コントロール]を選択します。 ウィンドウの下部にある [名前] フィールドで、コマンド ファイル名を MyToolboxControl.cs に変更します。ソリューションには、 ツールボックスにコントロールを追加し、デプロイ用の VSIX マニフェストに Microsoft.VisualStudio.ToolboxControl アセット エントリを追加するユーザー コントロール
ProvideToolboxControlAttribute
RegistrationAttribute が含まれるようになりました。
コントロール UI を作成するには
デザイナーで MyToolboxControl.xaml を開きます。
グリッド レイアウトを配置します。 Grid コントロールを選択すると、グリッドの上端と左端に青色のコントロール バーが表示されます。 グリッドに行と列を追加するには、バーをクリックします。
グリッドに子コントロールを追加します。 子コントロールは、 ツールボックス からグリッドのセクションにドラッグするか、XAML で
Grid.Row
およびGrid.Column
属性を設定することによって配置できます。 次の例では、グリッドの一番上の行に 2 つのラベルを追加し、2 番目の行にボタンを追加します。<Grid> <Label Grid.Row="0" Grid.Column="0" Name="label1" /> <Label Grid.Row="0" Grid.Column="1" Name="label2" /> <Button Name="button1" Click="button1_Click" Grid.Row="1" Grid.ColumnSpan="2" /> </Grid>
コントロールの名前を変更する
既定では、コントロールは、 MyToolboxControl.MyToolboxControlという名前のグループの MyToolboxControl として ツールボックス に表示されます。 これらの名前は MyToolboxControl.xaml.cs ファイルで変更できます。
コード ビューで MyToolboxControl.xaml.cs を開きます。
MyToolboxControl
クラスを見つけて、その名前を TestControl に変更します。 (これを行う最も早い方法は、クラスの名前を変更し、コンテキスト メニューから [名前の変更] を選択して、手順を完了することです。 ([名前の変更] コマンドの詳細については、 名前の変更のリファクタリング (C#)に関する記事を参照してください。)ProvideToolboxControl
属性に移動し、最初のパラメーターの値を「Test」に変更します。 これは、 ツールボックスのコントロールを含むグループの名前です。結果のコードは次のようになります。
[ProvideToolboxControl("Test", true)] public partial class TestControl : UserControl { public TestControl() { InitializeComponent(); } }
ビルド、テスト、デプロイ
プロジェクトをデバッグするときに、Visual Studio の実験用インスタンスの ツールボックス にコントロールがインストールされている必要があります。
コントロールをビルドおよびテストするには
プロジェクトをリビルドし、デバッグを開始します。
Visual Studio の新しいインスタンスで、WPF アプリケーション プロジェクトを作成します。 XAML デザイナーが開いていることを確認します。
[ツールボックス] で対象のコントロールを見つけて、デザイン画面にドラッグします。
WPF アプリケーションのデバッグを開始します。
コントロールが表示されることを確認します。
コントロールを配置するには
テストされたプロジェクトをビルドすると、プロジェクトの *\bin\debug* フォルダーで .vsix ファイルを見つけることができます。
.vsix ファイルをダブルクリックし、インストール手順に従うことによって、ローカル コンピューターにそれをインストールすることができます。 コントロールをアンインストールするには、 [ツール]>[拡張機能と更新プログラム] に移動し、コントロールの拡張機能を見つけて、 [アンインストール]をクリックします。
.vsix ファイルをネットワークまたは Web サイトにアップロードします。
ファイルを Visual Studio Marketplace Web サイトにアップロードした場合、他のユーザーは Visual Studio の [ツール]>[拡張機能と更新プログラム] を使用し、コントロールをオンラインで見つけてインストールすることができます。