ItemsPanelTemplate Sınıf

Tanım

bir ItemsControlöğelerinin düzeni için ItemsPresenter oluşturduğu paneli belirtir.

public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
    inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
Devralma

Ö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, önceki örnekte olduğu gibi ItemsPanel özelliğini ayarlamak yerine yatay StackPanelControlTemplateiçinde belirtildiğini unutmayın. IsItemsHost özelliğinin StackPaneltrue olarak ayarlandığını ve oluşturulan öğelerin panele gitmesi gerektiğini unutmayın. 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>

ItemsControlfarklı stil ve şablon oluşturma özelliklerinin nasıl kullanılacağına ilişkin bir örnek için bkz. Data Templating Overview.

Açıklamalar

ItemsPanelTemplate, öğelerin düzeni için kullanılan paneli belirtir. GroupStyle, ItemsPanelTemplatetüründe bir Panel özelliğine sahiptir. ItemsControl türleri ItemsPanelTemplatetüründe bir ItemsPanel özelliğine sahiptir.

Her ItemsControl türünün varsayılan ItemsPanelTemplatevardır. ItemsControl sınıfı için varsayılan ItemsPanel değeri, StackPanelbelirten bir ItemsPanelTemplate değeridir. ListBoxiçin varsayılan değer VirtualizingStackPanelkullanır. MenuItemiçin varsayılan değer WrapPanelkullanır. StatusBariçin varsayılan değer DockPanelkullanır.

Oluşturucular

ItemsPanelTemplate()

ItemsPanelTemplate sınıfının bir örneğini başlatır.

ItemsPanelTemplate(FrameworkElementFactory)

Belirtilen şablonla ItemsPanelTemplate sınıfının bir örneğini başlatır.

Özellikler

Dispatcher

Bu DispatcherObject ilişkilendirilen Dispatcher alır.

(Devralındığı yer: DispatcherObject)
HasContent

Bu şablonun iyileştirilmiş içeriğe sahip olup olmadığını gösteren bir değer alır.

(Devralındığı yer: FrameworkTemplate)
IsSealed

Bu nesnenin değiştirilemez durumda olup olmadığını gösteren bir değer alır.

(Devralındığı yer: FrameworkTemplate)
Resources

Bu şablon kapsamında kullanılabilecek kaynak koleksiyonunu alır veya ayarlar.

(Devralındığı yer: FrameworkTemplate)
Template

Şablon bir yazıcı tarafından tanımlandığında veya uygulandığında şablon için XAML düğümlerini kaydeden veya oynatan nesneye başvuru alır veya ayarlar.

(Devralındığı yer: FrameworkTemplate)
VisualTree

Şablonun kök düğümünü alır veya ayarlar.

(Devralındığı yer: FrameworkTemplate)

Yöntemler

CheckAccess()

Çağıran iş parçacığının bu DispatcherObjecterişimi olup olmadığını belirler.

(Devralındığı yer: DispatcherObject)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FindName(String, FrameworkElement)

Bu şablonda tanımlanan belirtilen adla ilişkilendirilmiş öğeyi bulur.

(Devralındığı yer: FrameworkTemplate)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
LoadContent()

Şablonun içeriğini bir nesnenin örneği olarak yükler ve içeriğin kök öğesini döndürür.

(Devralındığı yer: FrameworkTemplate)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
RegisterName(String, Object)

Geçerli ad kapsamına yeni bir ad/nesne çifti kaydeder.

(Devralındığı yer: FrameworkTemplate)
Seal()

Şablonu değiştirilemeyecek şekilde kilitler.

(Devralındığı yer: FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Serileştirme işlemlerinin bu sınıfın örneklerinde Resources özelliğinin değerini seri hale getirip getirmemesi gerektiğini gösteren bir değer döndürür.

(Devralındığı yer: FrameworkTemplate)
ShouldSerializeVisualTree()

Serileştirme işlemlerinin bu sınıfın örneklerinde VisualTree özelliğinin değerini seri hale getirip getirmemesi gerektiğini gösteren bir değer döndürür.

(Devralındığı yer: FrameworkTemplate)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
UnregisterName(String)

XAML ad kapsamı'ndan bir ad/nesne eşlemesini kaldırır.

(Devralındığı yer: FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Şablonlu üst öğe null olmayan bir ItemsPresenter nesnesi olup olmadığını denetler.

VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjecterişmesini zorlar.

(Devralındığı yer: DispatcherObject)

Belirtik Arabirim Kullanımları

INameScope.FindName(String)

Sağlanan tanımlayıcı ada sahip bir nesne döndürür.

(Devralındığı yer: FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Belirtilen bir ortam özelliğinin geçerli kapsamda kullanılabilir olup olmadığını sorgular.

(Devralındığı yer: FrameworkTemplate)

Şunlara uygulanır