当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 定义选择集

作者:精品下载站 日期:2024-12-14 02:44:10 浏览:15 分类:玩电脑

定义选择集


创建多个视图和控件时,您可以定义称为选择集的对象集。选择集使您能够一次性定义对象,而无需为每个视图或控件重复定义它们。通常,当您有一组相关的 .NET 对象时,会使用选择集。例如,FileSystem 格式化文件 (FileSystem.format.ps1xml) 定义多个视图使用的文件系统类型的选择集。

选择集的定义和引用位置

您将选择集定义为可供格式化文件中定义的所有视图和控件使用的通用数据的一部分。以下示例显示如何定义三个选择集。

<Configuration>
  <SelectionSets>
    <SelectionSet>...</SelectionSet>
    <SelectionSet>...</SelectionSet>
    <SelectionSet>...</SelectionSet>
  </SelectionSets>
</Configuration>

您可以通过以下方式引用选择集:

  • 每个视图都有一个 ViewSelectedBy 元素,用于定义使用该视图显示哪些对象。 ViewSelectedBy 元素有一个 SelectionSetName 子元素,用于指定视图的所有定义使用的选择集。您可以从视图中引用的选择集的数量没有限制。

  • 在视图或控件的每个定义中,EntrySelectedBy 元素定义使用该定义显示哪些对象。通常,视图或控件只有一个定义,因此对象由 ViewSelectedBy 元素定义。定义的 EntrySelectedBy 元素有一个指定选择集的 SelectionSetName 子元素。如果您为定义指定选择集,则无法指定 EntrySelectedBy 元素的任何其他子元素。

  • 在视图或控件的每个定义中,SelectionCondition 元素可用于指定使用该定义的条件。 SelectionCondition 元素有一个 SelectionSetName 子元素,用于指定触发条件的选择集。当显示选择集中定义的任何对象时,将触发该条件。有关如何设置这些条件的详细信息,请参阅定义数据显示时的条件。

选择集示例

以下示例显示直接取自 Windows PowerShell 提供的 FileSystem 格式设置文件的选择集。有关其他 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 对象。

  • Name 元素指定用于引用选择集的名称。

  • Types 元素指定选择集对象的 .NET 类型。 (在格式化文件中,对象由其 .NET 类型指定。)

以下 XML 元素用于指定选择集。

  • 以下元素指定要在视图的所有定义中使用的选择集:

    • ViewSelectedBy 的 SelectionSetName 元素(格式)

  • GroupBy 的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • 以下元素指定单个视图定义使用的选择集:

    • ListControl 的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • TableControl 的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • WideControl 的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • 用于视图的 CustomControl 的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • 以下元素指定公共和视图控件定义使用的选择集:

    • 用于视图控件的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • 配置控件的 EntrySelectedBy 的 SelectionSetName 元素(格式)

  • 以下元素指定在定义要展开的对象时使用的选择集:

    • EnumerableExpansion 的 EntrySelectedBy 的 SelectionSetName 元素(格式)
  • 以下元素指定选择条件使用的选择集。

    • 配置控件的 SelectionCondition 的 SelectionSetName 元素(格式)

  • 视图控件的 SelectionCondition 的 SelectionSetName 元素(格式)

  • 视图的 CustomControl 的 SelectionCondition 的 SelectionSetName 元素(格式)

  • SelectionSetName 用于 EntrySelectedBy 用于 EnumerableExpansion 的 SelectionCondition 元素(格式)

  • SelectionSetName 用于 Entry 的 SelectionCondition 的元素 SelectedBy 用于 ListEntry(格式)

  • TableControl 的 EntrySelectedBy 的 SelectionCondition 的 SelectionSetName 元素(格式)

  • Entry 的 SelectionCondition 的 SelectionSetName 元素 WideEntry 的 SelectedBy (格式)

  • GroupBy 的 SelectionCondition 的 SelectionSetName 元素(格式)

  • 参见

    SelectionSets

    SelectionSet

    姓名

    类型

    PowerShell 格式化文件

    定义数据显示条件

    编写 PowerShell 格式和类型文件

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯