バージョン

機能の概要 (xamPropertyGrid)

トピックの概要

目的

このトピックでは、このコントロールでサポートする機能を開発者の観点から説明します。

このトピックの内容

このトピックは、以下のセクションで構成されます。

概要

XamPropertyGrid の概要

xamPropertyGrid コントロールでは、単一のオブジェクトまたは複数のオブジェクトを簡単に編集できます。プレーン プロパティまたはコンプレックス リスト形式プロパティを編集できます。

プロパティは、プロパティ タイプに応じて異なったエディターを使用して編集されます。フィルター処理、並べ替え、グループ化のような機能を使用する大きなプロパティ リストで素早く参照することができます。

コントロールは、既定のプロパティ タイプのエディターの変更、フィルター領域と説明領域の表示 / 非表示、添付プロパティまたは読み取り専用プロパティの追加と除外によるプロパティ リストのカスタマイズなど、多数のカスタマイズを提供します。

以下のスクリーンショットは、カテゴリによりグループ化された多数のオブジェクトのプロパティを表示 / 編集する際の xamPropertyGrid を示しています。

xamPropertyGrid 01.png

主要な機能

主要な機能の概要表

以下の表では、xamPropertyGrid コントロールの主な機能を簡単に説明します。詳細は、概要表の後に記載されています。

機能 説明

コントロールは、単一のオブジェクトまたは複数のオブジェクトへのバインドをサポートします。

注:

Note

コントロールを複数オブジェクトにバインドする場合、すべてのオブジェクトにあるプロパティのみプロパティ リストで永続化されます。そのような結合プロパティを除外する場合、MergebleProperty 属性を追加する必要があります。詳細については、 サポートされる属性のリスト トピックをご覧ください。

コントロールには堅牢なブラシ エディターがあり、グラデーション ブラシを含むタイプ Brush のプロパティを編集できます。

コントロールは、カスタム エディターの定義をサポートします。

このコントロールは、バインドおよび非バインドの依存プロパティの表示方法を構成します。

コントロールには、現在選択されているプロパティに関する情報の表示に使用される説明領域があります。

コントロールは、展開可能なプロパティを使用した、コレクション / リストへのドリルダウンをサポートします。

フィルタリング機能により、プロパティ名のフィルター条件を指定し、プロパティ リストを効率的に参照することができます。

グループ化機能は、カテゴリ別に展開 / 折りたたみ可能なツリー ノードにプロパティをグループ化します。

コントロールは、入れ替え可能なプロパティ ジェネレーターを使用して、現在選択されているオブジェクトについて表示する必要のあるプロパティを検出します。

コントロールにより、プロパティの値を既定値にリセットできます。

並べ替え機能により、プロパティのリストをプロパティ名で並べ替えることができます。

オブジェクトにバインド

コントロールは、単一のオブジェクトまたは複数のオブジェクトへのバインドをサポートします。複数のオブジェクトへのバインドにより、同時に複数のオブジェクトでプロパティの値を変更できます。

ブラシ エディター

xamPropertyGrid には、基本的なプロパティ タイプ用のビルトイン エディターに加えて、Brush タイプのプロパティを操作するための Visual Studio のようなエディターが付属しています。単色ブラシ、グラデーション色ブラシ、および定義済みのブラシ リソースのリストを編集するための UI を提供します。

単色エディター:
xamPropertyGrid_03.png

グラデーション色エディター:
xamPropertyGrid_04.png

定義済みのブラシ リソース:
xamPropertyGrid_Brush_Resources.png

カスタム エディターの定義

各プロパティ タイプには自身のデフォルトのエディター (たとえば、列挙型は ComboBox を使用して編集されます) があります。ただし、特定のプロパティ タイプ、プロパティ名 / プロパティ カテゴリ用のカスタム エディターを作成できます。

依存プロパティ サポート

コントロールは、PreventEditingOfBoundProperties プロパティの値に依存する依存オブジェクトおよび依存プロパティがローカル値またはバインド式があるかどうかの可視化をサポートします。
以下の表は、構成に基づいたコントロールの依存プロパティの表示動作をを示します。

PreventEditingOfBoundPropertiesfalse PreventEditingOfBoundPropertiestrue

依存プロパティにローカル値がある

ローカル値が表示される

ローカル値が表示される

依存プロパティにバインド式がある

バインド式の評価値が表示される

値は表示されずにエディターがオレンジ色の境界線を適用

説明領域

コントロールの下端にある説明領域には、現在選択されているプロパティに関する以下の情報が含まれます。

  • プロパティ タイプ

  • プロパティの説明

説明領域を表示または非表示にできます。

展開可能なプロパティ

コントロールにより、プロパティ左側の特別な展開 / 折りたたみグリフを使用して、より複雑なプロパティ (コレクションやリストなど) にドリルダウンできます。

フィルタリング

コントロールにより、コントロール上端のフィルター領域にあるテキスト ボックスにフィルター値を入力できます。このフィルターは、プロパティ リストを表示するための「contains」フィルターとして使用されます。パイプ記号 (「|」) は、「Or」演算子を使用して組み合わせる複数のフィルター条件を指定するために使用できます。また、プログラムでカスタム フィルター (「ICondition」インターフェイスに基づく) を追加できます。カスタム フィルターは、「and」演算子により、ユーザーが指定した値と組み合わせます。

グループ化

コントロールは、カテゴリに基づいた、プロパティのグループ化をサポートします。カテゴリは、CategoryAttribute により割当てられます。カテゴリは展開可能 / 縮小可能です。各カテゴリのプロパティはアルファベット順に並び替えられます。

プロパティ ジェネレーター

コントロールは、プロパティ ジェネレーターを使用して、現在選択されているオブジェクトについて表示するプロパティを検出します。コントロールには 2 つのビルトイン プロパティ ジェネレーターが付属します。1 つはリフレクションを使用、もう 1 つは TypeDescriptor を使用してプロパティを検出します。独自のカスタム プロパティ ジェネレーターを作成することもできます。

プロパティ値のリセット

コントロールにより、プロパティの値の右側にあるグリフを使用して、プロパティの値を既定値にリセットできます。

並べ替え

並べ替え機能により、カテゴリに関わらず、すべてのプロパティを昇順に並べ替えることができます。これにより、すべてのプロパティを含む、アルファベット順に並べ替えらリストが形成されます。カテゴリのグループは表示されません。

関連コンテンツ

トピック

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックでは、コントロールの視覚要素についての概要を紹介します。

このトピックでは、ユーザーが実行できる操作を紹介します。

このトピックでは、オブジェクトからプロパティのリストを取得する場合に、コントロールで使用される属性の一覧を示します。