ItemsControl.ItemTemplate Özellik

Tanım

Her öğeyi görüntülemek için kullanılan öğesini DataTemplate alır veya ayarlar.

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

Özellik Değeri

DataTemplate

DataTemplate Veri nesnelerinin görselleştirmesini belirten bir. Varsayılan değer: null.

Öznitelikler

Örnekler

Aşağıdaki örnekte satır içi oluşturma DataTemplate gösterilmektedir. , DataTemplate her veri öğesinin içinde StackPanelüç TextBlock öğe olarak göründüğünü belirtir. Bu örnekte, veri nesnesi adlı Taskbir sınıftır. Bu şablondaki her TextBlock öğenin sınıfın Task bir özelliğine bağlı olduğunu unutmayın.

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}">
   <ListBox.ItemTemplate>
     <DataTemplate>
       <StackPanel>
         <TextBlock Text="{Binding Path=TaskName}" />
         <TextBlock Text="{Binding Path=Description}"/>
         <TextBlock Text="{Binding Path=Priority}"/>
       </StackPanel>
     </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

Aşağıdaki örnekte olduğu gibi yeniden kullanılabilir bir nesne olabilmesi için kaynaklar bölümünde bir DataTemplate tanımlamak daha yaygındır:

<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
  <StackPanel>
    <TextBlock Text="{Binding Path=TaskName}" />
    <TextBlock Text="{Binding Path=Description}"/>
    <TextBlock Text="{Binding Path=Priority}"/>
  </StackPanel>
</DataTemplate>
</Window.Resources>

Artık aşağıdaki örnekte olduğu gibi kaynak olarak kullanabilirsiniz myTaskTemplate :

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>

Tam örnek için bkz. Veri Şablon Oluşturma Örneğine Giriş.

Açıklamalar

Veri nesnelerinin görselleştirmesini belirtmek için öğesini kullanırsınız ItemTemplate . 'niz ItemsControl bir koleksiyon nesnesine bağlıysa ve kullanarak DataTemplatebelirli görüntüleme yönergeleri sağlamıyorsanız, her öğenin sonuçta elde edilen kullanıcı arabirimi, temel alınan koleksiyondaki her nesnenin dize gösterimidir.

üzerinde bir ItemTemplate ayarladığınızda ItemsControl, kullanıcı arabirimi aşağıdaki gibi oluşturulur (örnek olarak kullanılarak ListBox ):

  1. İçerik oluşturma sırasında, ItemsPanel her veri öğesi için ItemContainerGenerator bir kapsayıcı oluşturma isteği başlatır. için ListBoxkapsayıcı bir ListBoxItemşeklindedir. Oluşturucu kapsayıcıyı ItemsControl hazırlamak için öğesine geri çağrır.

  2. Hazırlama işleminin bir bölümü, öğesinin ItemTemplate ListBox olması için kopyalanmasını ContentTemplate ListBoxItemiçerir.

  3. Tüm ContentControl türlere benzer şekilde, ControlTemplate öğesinin ListBoxItem bir içerir ContentPresenter. Şablon uygulandığında, öğesine bağlı ContentTemplate ListBoxItemolan ContentTemplate bir ContentPresenter oluşturur.

  4. Son olarak, ContentPresenter bunu ContentTemplate kendisine uygular ve kullanıcı arabirimini oluşturur.

Birden DataTemplate fazla tanımlınız varsa ve program aracılığıyla bir DataTemplateseçmek ve uygulamak için mantık sağlamak istiyorsanız özelliğini kullanın ItemTemplateSelector .

görsel ItemsControl özelleştirme için büyük esneklik sağlar ve birçok stil oluşturma ve şablon oluşturma özelliği sağlar. ItemContainerStyle Veri öğelerini içeren öğelerin görünümünü etkileyecek bir stil ayarlamak için özelliğini veya ItemContainerStyleSelector özelliğini kullanın. Örneğin, için ListBoxoluşturulan kapsayıcılar denetimlerdir ListBoxItem ; için ComboBoxbunlar denetimlerdir ComboBoxItem . Öğelerin düzenini etkilemek için özelliğini kullanın ItemsPanel . Denetiminizde gruplandırma kullanıyorsanız veya GroupStyleSelector özelliğini kullanabilirsinizGroupStyle.

Daha fazla bilgi için bkz. Veri Şablon oluşturmaya genel bakış.

XAML Öznitelik Kullanımı

<object ItemTemplate=" ResourceExtension TemplateResourceKey"/>  

XAML Değerleri

ResourceExtension
Aşağıdakilerden biri: StaticResource biçimlendirme uzantısı veya DynamicResource biçimlendirme uzantısı. Stillerin kendileri sistem kaynakları veya kullanıcı tercihleri gibi olası çalışma zamanı başvurularına başvurular içermediği sürece, performans için genellikle stile StaticResource İşaretlemesi Uzantısı başvurusu önerilir.

TemplateResourceKey
kaynak olarak istenen şablona başvuran x:Key Yönergesi dize değeri.

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

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

Şunlara uygulanır

Ayrıca bkz.