Panel.IsItemsHost Propriedade

Definição

Obtém ou define um valor que indica que esse Panel é um contêiner para itens de interface do usuário que são gerados por um 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

Valor da propriedade

Boolean

true se esta instância do Panel for um host de itens; caso contrário, false. O valor padrão é false.

Atributos

Exemplos

O exemplo a seguir usa um ControlTemplate para criar um horizontal ListBox. A horizontal StackPanel é especificada dentro do ControlTemplate. A IsItemsHost propriedade é definida true como no , o StackPanelque indica que os itens gerados devem ser colocados no painel. Quando você especificar dessa forma, não ItemsPanel será possível substituir o usuário do controle sem usar um ControlTemplate. Portanto, faça isso somente se souber que não deseja que o painel seja substituído sem o uso de um modelo.

<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>

Como alternativa, você pode definir a ItemsControl.ItemsPanel propriedade. O exemplo a seguir define o ItemsPanel de um Style 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>

Comentários

Você não pode associar dados a essa propriedade.

Informações da propriedade de dependência

Campo Identificador IsItemsHostProperty
Propriedades de metadados definidas como true IsNotDataBindable

Aplica-se a

Confira também