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 DataTemplate gösterilmektedir. , DataTemplate her veri öğesinin içinde TextBlocküç StackPanel öğ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}"/>
Örneğin tamamı 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 . Öğesiniz ItemsControl bir koleksiyon nesnesine bağlıysa ve kullanarak belirli görüntüleme yönergeleri DataTemplatesağlamazsanız, her öğenin sonuçta elde edilen kullanıcı arabirimi, temel koleksiyondaki her nesnenin dize gösterimidir.
üzerinde ItemTemplatebir ItemsControl ayarladığınızda, kullanıcı arabirimi aşağıdaki gibi oluşturulur (örnek olarak kullanılarakListBox):
İç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 öğesini geri çağırır.
Hazırlığı bir parçası, öğesinin ItemTemplateListBox olması için ContentTemplateListBoxItemkopyalanmasını içerir.
Tüm ContentControl türlere benzer şekilde, ControlTemplate öğesinin ListBoxItem içinde bir ContentPresenterbulunur. Şablon uygulandığında, öğesine bağlı ContentPresenterContentTemplateolan ContentTemplate bir ListBoxItem 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 seçmek ve uygulamak DataTemplateiç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 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 GroupStyle özelliğini kullanabilirsinizGroupStyleSelector.
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 İşaretlemeyi Uzantısı veya DynamicResource İşaretlemeyi Uzantısı. Stillerin kendileri sistem kaynakları veya kullanıcı tercihleri gibi olası çalışma zamanı başvurularına başvuru içermiyorsa, performans için genellikle bir stile StaticResource İşaretlemesi Uzantısı başvurusu önerilir.
TemplateResourceKeyx:Anahtar Yönergesi dize değeri, kaynak olarak istenen şablona başvurur.
Bağımlılık Özelliği Bilgileri
| Öğe | Değer |
|---|---|
| Tanımlayıcı alanı | ItemTemplateProperty |
Meta veri özellikleri olarak ayarlandı true |
Hiçbiri |