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

Öğelerin düzeni için kullanılacak paneli tanımlayan bir ItemsPanelTemplate. ItemsControl için varsayılan değer, StackPanelbelirten bir ItemsPanelTemplate değeridir.

Öznitelikler

Örnekler

Yatay ListBoxoluşturmak için, yatay StackPanel belirten bir şablon oluşturabilir ve bunu ItemsPanel özelliği olarak ayarlayabilirsiniz. Aşağıdaki örnekte, yatay ListBoxoluşturan bir ListBoxStyle 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 köşeleri yuvarlatılmış yatay bir ListBox oluşturmak için bir ControlTemplate kullanılabilecek. Bu örnekte, ItemsPanel özelliğini önceki örnekte olduğu gibi ayarlamak yerine, yatay StackPanelControlTemplateiçinde belirtilir. IsItemsHost özelliği, oluşturulan öğelerin panele gitmesi gerektiğini belirten StackPaneltrue olarak ayarlanır. Bu şekilde belirttiğinizde, ItemsPanelControlTemplatekullanmadan denetimin kullanıcısı tarafından değiştirilemez. Bu nedenle, bunu yalnızca panelin şablon kullanılmadan 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, ItemsPresenterItemsPanelTemplatetarafından belirtilen öğelere göre öğelerin düzeni için panel 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 ItemsPanelTemplateVirtualizingStackPanelbelirtir. MenuItemiçin varsayılan değer WrapPanelkullanır. StatusBariçin varsayılan değer DockPanelkullanır.

bir ItemsControliçindeki öğelerin düzenini etkilemek için, ItemsPanelTemplatebelirtmek için bu özelliği kullanırsınız.

ItemsControl görsel ö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 ItemContainerStyle özelliğini veya ItemContainerStyleSelector özelliğini kullanırsınız. Örneğin, ListBoxiçin oluşturulan kapsayıcılar ListBoxItem denetimleridir; ComboBoxiçin bunlar ComboBoxItem denetimleridir. Denetiminizde gruplandırma kullanıyorsanız, GroupStyle veya GroupStyleSelector özelliğini kullanabilirsiniz. Veri nesnelerinin görselleştirmesini belirtmek için ItemTemplate veya ItemTemplateSelector özelliğini kullanın. Daha fazla bilgi için bkz. Veri Şablonuna Genel Bakış.

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

Tanımlayıcı alanı ItemsPanelProperty
meta veri özellikleri true olarak ayarlandı Hiç kimse

Şunlara uygulanır