ItemsControl.ItemTemplate Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ı Task
bir 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 ):
İç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.
Hazırlama işleminin bir bölümü, öğesinin ItemTemplateListBox olması için kopyalanmasını ContentTemplateListBoxItemiçerir.
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.
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 |