Aracılığıyla paylaş


ItemsPanelTemplate Sınıf

Tanım

öğesinin öğelerinin ItemsControldüzeni için oluşturduğu paneli ItemsPresenter 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 oluşturmak için, yatay ListBoxbelirten bir şablon StackPanel oluşturabilir ve bunu özelliği olarak ItemsPanel ayarlayabilirsiniz. Aşağıdaki örnekte, yatay ListBoxbir ListBoxStyle 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 örnek, yuvarlatılmış köşeleri olan bir yatay ListBox oluşturmak için bir ControlTemplate kullanır. Bu örnekte, önceki örnekte olduğu gibi özelliğini ayarlamak ItemsPanel yerine içinde yatayın StackPanel belirtildiğini ControlTemplateunutmayın. özelliğinin IsItemsHost üzerinde StackPanelolarak ayarlandığını true ve oluşturulan öğelerin panele gitmesi gerektiğini unutmayın. Bu şekilde belirttiğinizde ItemsPanel , kullanmadan ControlTemplatedenetimin 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, ItemsPresenter tarafından belirtilenlere ItemsPanelTemplategöre öğelerin düzeni için panel oluşturulur.

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

üzerinde ItemsControlfarklı stil ve şablon oluşturma özelliklerinin nasıl kullanılacağına ilişkin bir örnek için bkz. Veri Şablonuna Genel Bakış.

Açıklamalar

, ItemsPanelTemplate öğelerin düzeni için kullanılan paneli belirtir. GroupStyletüründe ItemsPanelTemplatebir Panel özelliğe sahiptir. ItemsControl türleri türünde bir ItemsPanel özelliğe ItemsPanelTemplatesahiptir.

Her ItemsControl türün varsayılan ItemsPanelTemplatebir değeri vardır. ItemsControl sınıfı için varsayılan ItemsPanel değer, öğesini belirten bir ItemsPanelTemplateStackPaneldeğeridir. ListBoxiçin, varsayılan olarak öğesini VirtualizingStackPanelkullanır. için MenuItem, varsayılan olarak kullanır WrapPanel. için StatusBar, varsayılan olarak kullanır DockPanel.

Oluşturucular

Name Description
ItemsPanelTemplate()

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

ItemsPanelTemplate(FrameworkElementFactory)

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

Özellikler

Name Description
Dispatcher

Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini 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

Name Description
CheckAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine eriş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 özelliğin değerini serileştirmesi Resources gerekip gerekmediğ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 özelliğin değerini serileştirmesi VisualTree gerekip gerekmediğ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 öğenin null ItemsPresenter olmayan bir nesne olup olmadığını denetler.

VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar.

(Devralındığı yer: DispatcherObject)

Belirtik Arabirim Kullanımları

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