選択セットを定義する
複数のビューとコントロールを作成する場合は、選択セットと呼ばれるオブジェクトのセットを定義できます。 選択セットを使用すると、ビューまたはコントロールごとにオブジェクトを繰り返し定義することなく、オブジェクトを 1 回定義できます。 通常、選択セットは、関連する .NET オブジェクトのセットがある場合に使用されます。 たとえば、書式設定ファイル (FileSystem.format.ps1xml) は、複数のビューで使用されるファイル システムの種類の選択 FileSystem
セットを定義します。
選択セットが定義および参照される場所
選択セットは、書式設定ファイルで定義されているすべてのビューとコントロールで使用できる共通データの一部として定義します。 次の例は、3 つの選択セットを定義する方法を示しています。
<Configuration>
<SelectionSets>
<SelectionSet>...</SelectionSet>
<SelectionSet>...</SelectionSet>
<SelectionSet>...</SelectionSet>
</SelectionSets>
</Configuration>
選択セットは、次の方法で参照できます。
各ビューには、
ViewSelectedBy
ビューを使用して表示されるオブジェクトを定義する 要素があります。 要素ViewSelectedBy
には、ビューのすべての定義で使用される選択セットを指定する子SelectionSetName
要素があります。 ビューから参照できる選択セットの数に制限はありません。ビューまたはコントロールの各定義で、 要素は、その定義を使用して
EntrySelectedBy
表示されるオブジェクトを定義します。 通常、ビューまたはコントロールには定義が 1 つしか含めないので、オブジェクトは 要素によって定義ViewSelectedBy
されます。 定義EntrySelectedBy
の 要素には、選択セットSelectionSetName
を指定する子要素があります。 定義の選択セットを指定する場合、要素の他の子要素を指定EntrySelectedBy
することはできません。ビューまたはコントロールの各定義で、 要素を使用して、定義が使用される条件
SelectionCondition
を指定できます。 要素SelectionCondition
には、条件SelectionSetName
をトリガーする選択セットを指定する子要素があります。 条件は、選択セットで定義されているオブジェクトが表示されるとトリガーされます。 これらの条件を設定する方法の詳細については、「データが表示される場合 の条件の定義」を参照してください。
選択セットの例
次の例は、指定された書式設定ファイルから直接作成される選択セットを FileSystem
Windows PowerShell。 ファイルの書式設定に関するその他のWindows PowerShellについては、「ファイルの書式設定Windows PowerShell参照してください。
<SelectionSets>
<SelectionSet>
<Name>FileSystemTypes</Name>
<Types>
<TypeName>System.IO.DirectoryInfo</TypeName>
<TypeName>System.IO.FileInfo</TypeName>
<TypeName>Deserialized.System.IO.DirectoryInfo</TypeName>
<TypeName>Deserialized.System.IO.FileInfo</TypeName>
</Types>
</SelectionSet>
</SelectionSets>
前の選択セットは、テーブル ビュー ViewSelectedBy
の 要素で参照されます。
<ViewDefinitions>
<View>
<Name>Files</Name>
<ViewSelectedBy>
<SelectionSetName>FileSystemTypes</SelectionSetName>
</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
</ViewDefinitions>
XML 要素
定義できる選択セットの数に制限はありません。 選択セットを作成するには、次の XML 要素を使用します。
SelectionSets 要素は、書式設定ファイルのビューとコントロールによって参照される .NET オブジェクトのセットを定義します。
SelectionSet 要素は、.NET オブジェクトの 1 つのセットを定義します。
Name 要素 は、選択セットを参照するために使用される名前を指定します。
Types 要素 は、選択セットのオブジェクトの .NET 型を指定します。 (書式設定ファイル内では、オブジェクトは .NET 型で指定されます)。
選択セットを指定するには、次の XML 要素を使用します。
次の要素は、ビューのすべての定義で使用する選択セットを指定します。
次の要素は、1 つのビュー定義で使用される選択セットを指定します。
次の要素は、共通コントロール定義とビュー コントロール定義で使用される選択セットを指定します。
展開するオブジェクトを定義するときに使用される選択セットを指定する要素を次に示します。
次の要素は、選択条件で使用される選択セットを指定します。
Configuration の Controls の SelectionCondition の SelectionSetName 要素 (書式)
View の Controls の SelectionCondition の SelectionSetName 要素 (書式)
View の CustomControl の SelectionCondition の SelectionSetName 要素 (書式)
EnumerableExpansion の EntrySelectedBy の SelectionCondition の SelectionSetName 要素 (書式)
ListEntry の EntrySelectedBy の SelectionCondition の SelectionSetName 要素 (書式)
TableControl の EntrySelectedBy の SelectionCondition の SelectionSetName 要素 (書式)
WideEntry の EntrySelectedBy の SelectionCondition の SelectionSetName 要素 (書式)