Panel.IsItemsHost プロパティ

定義

この Panel がによって生成されるユーザーインターフェイス (UI) 項目のコンテナーであることを示す値を取得または設定し ItemsControl ます。Gets or sets a value that indicates that this Panel is a container for 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; }
[<System.ComponentModel.Bindable(false)>]
member this.IsItemsHost : bool with get, set
Public Property IsItemsHost As Boolean

プロパティ値

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. では、 IsItemsHost プロパティがに設定されてい true StackPanel ます。これは、生成された項目をパネルに配置する必要があることを示します。The IsItemsHost property is set to true on the StackPanel, which indicates that the generated items should be placed in the panel. このように指定すると、を ItemsPanel 使用せずに、コントロールのユーザーがを置き換えることはできません ControlTemplateWhen 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

適用対象

こちらもご覧ください