ItemsControl.ItemsPanel Özellik

Tanım

Öğelerin düzenini denetleen paneli tanımlayan şablonu alır veya ayarlar.

public:
 property System::Windows::Controls::ItemsPanelTemplate ^ ItemsPanel { System::Windows::Controls::ItemsPanelTemplate ^ get(); void set(System::Windows::Controls::ItemsPanelTemplate ^ value); };
[System.ComponentModel.Bindable(false)]
public System.Windows.Controls.ItemsPanelTemplate ItemsPanel { get; set; }
[<System.ComponentModel.Bindable(false)>]
member this.ItemsPanel : System.Windows.Controls.ItemsPanelTemplate with get, set
Public Property ItemsPanel As ItemsPanelTemplate

Özellik Değeri

ItemsPanelTemplate

ItemsPanelTemplate Öğelerin düzeni için kullanılacak paneli tanımlayan bir. için ItemsControl varsayılan değer, öğesini belirten bir StackPaneldeğeridirItemsPanelTemplate.

Öznitelikler

Örnekler

Yatay oluşturmak için, yatay ListBoxStackPanel belirten bir şablon oluşturabilir ve bunu özelliği olarak ItemsPanel ayarlayabilirsiniz. Aşağıdaki örnekte, yatay ListBoxbir ListBox Style oluşturan bir gösterilmektedir.

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

Aşağıdaki örnekte yuvarlatılmış köşeleri olan bir yatay ListBox oluşturmak için bir ControlTemplate kullanılmıştır. Bu örnekte, özelliği önceki örnekte olduğu gibi ayarlamak ItemsPanel yerine içinde yatay StackPanel belirtilir ControlTemplate. IsItemsHost özelliği üzerinde StackPanelolarak ayarlanır true ve oluşturulan öğelerin panele gitmesi gerektiğini belirtir. Bu şekilde belirttiğinizde ItemsPanel , kullanmadan ControlTemplatedenetimin kullanıcısı tarafından değiştirilemez. Bu nedenle, bunu yalnızca panelin şablon kullanmadan değiştirilmesini istemediğinizi biliyorsanız yapın.

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

Alternatif olarak, aynı sonuçları elde etmek için aşağıdakileri yapabilirsiniz. Bu durumda, öğesi ItemsPresenter tarafından ItemsPanelTemplatebelirtilen öğelere göre öğelerin düzeni için paneli oluşturur.

<Style TargetType="{x:Type ListBox}">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                     VerticalAlignment="Center"
                     HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListBox}">
        <Border CornerRadius="5"
                Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <ItemsPresenter/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Açıklamalar

ListBoxiçin, varsayılan ItemsPanelTemplate değeri belirtirVirtualizingStackPanel. için MenuItem, varsayılan olarak kullanır WrapPanel. için StatusBar, varsayılan olarak kullanır DockPanel.

içindeki ItemsControlöğelerin düzenini etkilemek için bu özelliği kullanarak bir ItemsPanelTemplatebelirtirsiniz.

görsel ItemsControl özelleştirme için büyük esneklik sağlar ve birçok stil ve şablon oluşturma özelliği sağlar. Veri öğelerini içeren öğelerin görünümünü etkileyecek bir stil ayarlamak için özelliğini veya ItemContainerStyleSelector özelliğini kullanırsınızItemContainerStyle. Örneğin, için ListBoxoluşturulan kapsayıcılar denetimlerdir ListBoxItem ; için ComboBoxbunlar denetimlerdir ComboBoxItem . Denetiminizde gruplandırma kullanıyorsanız veya GroupStyleSelector özelliğini kullanabilirsinizGroupStyle. Veri nesnelerinin görselleştirmesini belirtmek için veya ItemTemplateSelector özelliğini kullanınItemTemplate. Daha fazla bilgi için bkz. Veri Şablonu Oluşturmaya Genel Bakış.

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı ItemsPanelProperty
Meta veri özellikleri olarak ayarlandı true Hiçbiri

Şunlara uygulanır

Ayrıca bkz.