Panel.IsItemsHost Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, że jest to Panel kontener dla elementów interfejsu użytkownika generowanych przez element 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

Wartość właściwości

Boolean

true jeśli to wystąpienie jest Panel hostem elementów; falsew przeciwnym razie . Wartość domyślna to false.

Atrybuty

Przykłady

W poniższym przykładzie użyto elementu a ControlTemplate do utworzenia poziomego ListBoxelementu . StackPanel Poziome jest określone w elemecie ControlTemplate. Właściwość jest ustawiona IsItemsHost true na wartość w elemecie StackPanel, co wskazuje, że wygenerowane elementy powinny zostać umieszczone w panelu. Po określeniu go w ten sposób ItemsPanel nie można zastąpić przez użytkownika kontrolki bez użycia elementu ControlTemplate. W związku z tym należy to zrobić tylko wtedy, gdy wiesz, że nie chcesz, aby panel został zastąpiony bez użycia szablonu.

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

Alternatywnie można ustawić ItemsControl.ItemsPanel właściwość . Poniższy przykład ustawia wartość ItemsPanel w elemecie 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>

Uwagi

Nie można powiązać danych z tą właściwością.

Informacje dotyczące właściwości zależności

Pole identyfikatora IsItemsHostProperty
Właściwości metadanych ustawione na true IsNotDataBindable

Dotyczy

Zobacz też