Panel.IsItemsHost プロパティ

定義

この PanelItemsControl で生成されるユーザー インターフェイス (UI)user interface (UI) 項目のコンテナーであることを示す値を取得または設定します。Gets or sets a value that indicates that this Panel is a container for ユーザー インターフェイス (UI)user interface (UI) items that are generated by an ItemsControl.

public:
 property bool IsItemsHost { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(false)]
public bool IsItemsHost { get; set; }
member this.IsItemsHost : bool with get, set
Public Property IsItemsHost As Boolean

プロパティ値

Panel のこのインスタンスが項目ホストの場合は true。それ以外の場合は falsetrue if this instance of Panel is an items host; otherwise, false. 既定値は false です。The default value is false.

属性

次の例ではControlTemplate 、を使用しListBoxて水平を作成します。The following example uses a ControlTemplate to create a horizontal ListBox. 水平StackPanelは、 ControlTemplate内で指定されます。The horizontal StackPanel is specified within the ControlTemplate. では、 StackPanel true IsItemsHostプロパティがに設定されています。これは、生成された項目をパネルに配置する必要があることを示します。The IsItemsHost property is set to true on the StackPanel, which indicates that the generated items should be placed in the panel. このように指定すると、をItemsPanel ControlTemplate使用せずに、コントロールのユーザーがを置き換えることはできません。When you specify it this way, the ItemsPanel cannot be replaced by the user of the control without using a ControlTemplate. そのため、この操作は、テンプレートを使用せずにパネルを置き換える必要がないことがわかっている場合にのみ行ってください。Therefore, do this only if you know that you do not want the panel to be replaced without the use of a template.

<Style TargetType="ListBox">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="ListBox">
        <Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <StackPanel Orientation="Horizontal"
                       VerticalAlignment="Center"
                       HorizontalAlignment="Center"
                       IsItemsHost="True"/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

または、 ItemsControl.ItemsPanelプロパティを設定することもできます。Alternatively, you can set the ItemsControl.ItemsPanel property. 次の例ItemsPanel Styleでは、のListBoxにを設定します。The following example sets the ItemsPanel in a Style of a ListBox.

<Grid.Resources>
  <Style TargetType="Separator">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type Separator}">
          <Border Width="2" Height="12" Margin="4" Background="Gray"/>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

  <Style TargetType="ListBox">
    <Setter Property="ItemsPanel">
      <Setter.Value>
        <ItemsPanelTemplate>
          <StackPanel Orientation="Horizontal"
                      VerticalAlignment="Center"
                      HorizontalAlignment="Center"/>
        </ItemsPanelTemplate>
      </Setter.Value>
    </Setter>
  </Style>
  
</Grid.Resources>

注釈

このプロパティにデータをバインドすることはできません。You cannot bind data to this property.

依存プロパティ情報Dependency Property Information

識別子フィールドIdentifier field IsItemsHostProperty
メタデータプロパティがに設定されるtrueMetadata properties set to true IsNotDataBindable

適用対象

こちらもご覧ください