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 Veri nesnelerinin görselleştirmesini belirten bir. Varsayılan değer: null.

Öznitelikler

Örnekler

Aşağıdaki örnekte satır içi oluşturma gösterilmektedir DataTemplate . her DataTemplate 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 belirli görüntüleme yönergeleri DataTemplatesağlamıyorsanız, her öğenin 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 ItemTemplateListBox olması için kopyalanmasını ContentTemplateListBoxItemiçerir.

  3. Tüm ContentControl türlere benzer şekilde, ControlTemplate öğesinin ListBoxItem bir içerir ContentPresenter. Şablon uygulandığında, öğesine bağlı ContentTemplateListBoxItemolan 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.

TemplateResourceKeyx:Key Yönergesi dize değeri, kaynak olarak istenen şablona başvuruda bulunur.

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.