DataTemplate Sınıf

Tanım

Veri nesnesinin görsel yapısını açıklar.

public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
    inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
Devralma
Türetilmiş
Ö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 nesnelerinizin görselleştirmesini belirtmek için bir DataTemplate kullanırsınız. DataTemplatenesneleri, örneğini ItemsControl koleksiyonun tamamına bağlarken ListBox özellikle yararlıdır. Belirli yönergeler olmadan, bir ListBox koleksiyondaki nesnelerin dize gösterimini görüntüler. Bu durumda, veri nesnelerinizin görünümünü tanımlamak için kullanabilirsiniz DataTemplate . İçeriğiniz DataTemplate , veri nesnelerinizin görsel yapısına dönüşür.

Ayrıntılı bir tartışma için bkz. Veri Şablon oluşturmaya genel bakış.

Oluşturucular

Name Description
DataTemplate()

DataTemplate sınıfının yeni bir örneğini başlatır.

DataTemplate(Object)

Belirtilen DataTemplate özellik ile sınıfının yeni bir örneğini DataType başlatır.

Özellikler

Name Description
DataTemplateKey

varsayılan anahtarını DataTemplatealır.

DataType

Bunun DataTemplate hedeflendiği türü alır veya ayarlar.

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

Özellik değerleri uygulayan veya bir veya daha fazla koşula göre eylemler gerçekleştiren tetikleyicilerden oluşan bir koleksiyon alır.

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 öğeyi bir dizi kurala göre 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

Ayrıca bkz.