xamPropertyGrid コントロールでは、単一のオブジェクトまたは複数のオブジェクトを簡単に編集できます。プレーン プロパティまたはコンプレックス リスト形式プロパティを編集できます。
プロパティは、プロパティ タイプに応じて異なったエディターを使用して編集されます。フィルター処理、並べ替え、グループ化のような機能を使用する大きなプロパティ リストで素早く参照することができます。
コントロールは、既定のプロパティ タイプのエディターの変更、フィルター領域と説明領域の表示 / 非表示、添付プロパティまたは読み取り専用プロパティの追加と除外によるプロパティ リストのカスタマイズなど、多数のカスタマイズを提供します。
以下のスクリーンショットは、カテゴリによりグループ化された多数のオブジェクトのプロパティを表示 / 編集する際の xamPropertyGrid を示しています。
以下の表では、xamPropertyGrid コントロールの主な機能を簡単に説明します。詳細は、概要表の後に記載されています。
コントロールは、単一のオブジェクトまたは複数のオブジェクトへのバインドをサポートします。複数のオブジェクトへのバインドにより、同時に複数のオブジェクトでプロパティの値を変更できます。
xamPropertyGrid には、基本的なプロパティ タイプ用のビルトイン エディターに加えて、Brush タイプのプロパティを操作するための Visual Studio のようなエディターが付属しています。単色ブラシ、グラデーション色ブラシ、および定義済みのブラシ リソースのリストを編集するための UI を提供します。
単色エディター:
グラデーション色エディター:
定義済みのブラシ リソース:
各プロパティ タイプには自身のデフォルトのエディター (たとえば、列挙型は ComboBox
を使用して編集されます) があります。ただし、特定のプロパティ タイプ、プロパティ名 / プロパティ カテゴリ用のカスタム エディターを作成できます。
コントロールは、PreventEditingOfBoundProperties プロパティの値に依存する依存オブジェクトおよび依存プロパティがローカル値またはバインド式があるかどうかの可視化をサポートします。
以下の表は、構成に基づいたコントロールの依存プロパティの表示動作をを示します。
コントロールの下端にある説明領域には、現在選択されているプロパティに関する以下の情報が含まれます。
プロパティ タイプ
プロパティの説明
説明領域を表示または非表示にできます。
コントロールにより、プロパティ左側の特別な展開 / 折りたたみグリフを使用して、より複雑なプロパティ (コレクションやリストなど) にドリルダウンできます。
コントロールにより、コントロール上端のフィルター領域にあるテキスト ボックスにフィルター値を入力できます。このフィルターは、プロパティ リストを表示するための「contains」フィルターとして使用されます。パイプ記号 (「|」) は、「Or」演算子を使用して組み合わせる複数のフィルター条件を指定するために使用できます。また、プログラムでカスタム フィルター (「ICondition」インターフェイスに基づく) を追加できます。カスタム フィルターは、「and」演算子により、ユーザーが指定した値と組み合わせます。
コントロールは、カテゴリに基づいた、プロパティのグループ化をサポートします。カテゴリは、CategoryAttribute により割当てられます。カテゴリは展開可能 / 縮小可能です。各カテゴリのプロパティはアルファベット順に並び替えられます。
コントロールは、プロパティ ジェネレーターを使用して、現在選択されているオブジェクトについて表示するプロパティを検出します。コントロールには 2 つのビルトイン プロパティ ジェネレーターが付属します。1 つはリフレクションを使用、もう 1 つは TypeDescriptor を使用してプロパティを検出します。独自のカスタム プロパティ ジェネレーターを作成することもできます。
コントロールにより、プロパティの値の右側にあるグリフを使用して、プロパティの値を既定値にリセットできます。
並べ替え機能により、カテゴリに関わらず、すべてのプロパティを昇順に並べ替えることができます。これにより、すべてのプロパティを含む、アルファベット順に並べ替えらリストが形成されます。カテゴリのグループは表示されません。
このトピックの追加情報については、以下のトピックも合わせてご参照ください。