DataTemplate Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy adatobjektum vizuális struktúráját ismerteti.
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
- Öröklődés
- Származtatott
- Attribútumok
Példák
Az alábbi példa bemutatja, hogyan hozhat létre beágyazott fájlokat DataTemplate . A DataTemplate beállítás azt határozza meg, hogy minden adatelem három TextBlock elemként jelenik meg egy adott elemen StackPanelbelül. Ebben a példában az adatobjektum egy .Task Vegye figyelembe, hogy a sablon minden TextBlock eleme az Task osztály egy tulajdonságához van kötve.
<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>
Az erőforrások szakaszban gyakrabban definiálunk egy DataTemplate objektumot, hogy újrafelhasználható objektum lehessen, ahogy az alábbi példában is látható:
<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>
Most már használhatja myTaskTemplate erőforrásként, ahogy az alábbi példában is látható:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
A teljes minta megtekintéséhez lásd: Bevezetés az adatsablonozási mintába.
Megjegyzések
Az adatobjektumok vizualizációjának megadására használható DataTemplate . DataTemplate az objektumok különösen hasznosak, ha például egy ItemsControl teljes gyűjteményhez köti az objektumokat ListBox . Konkrét utasítások nélkül a ListBox gyűjtemény objektumainak sztring-ábrázolása jelenik meg. Ebben az esetben megadhatja DataTemplate az adatobjektumok megjelenését. A tartalom DataTemplate az adatobjektumok vizuális struktúrájává válik.
Részletes ismertetésért tekintse meg a Data Templating áttekintését.
Konstruktorok
| Name | Description |
|---|---|
| DataTemplate() |
Inicializálja a DataTemplate osztály új példányát. |
| DataTemplate(Object) |
Inicializálja az osztály új példányát DataTemplate a megadott DataType tulajdonsággal. |
Tulajdonságok
| Name | Description |
|---|---|
| DataTemplateKey |
Lekéri a rendszer alapértelmezett kulcsát DataTemplate. |
| DataType |
Lekéri vagy beállítja azt a típust, amelyhez ez DataTemplate a cél. |
| Dispatcher |
Lekérdezi, Dispatcher hogy ez a társítva van-e DispatcherObject . (Öröklődés forrása DispatcherObject) |
| HasContent |
Olyan értéket kap, amely jelzi, hogy a sablon rendelkezik-e optimalizált tartalommal. (Öröklődés forrása FrameworkTemplate) |
| IsSealed |
Olyan értéket kap, amely jelzi, hogy az objektum nem módosítható állapotban van-e, ezért nem módosítható. (Öröklődés forrása FrameworkTemplate) |
| Resources |
Lekéri vagy beállítja a sablon hatókörén belül használható erőforrások gyűjteményét. (Öröklődés forrása FrameworkTemplate) |
| Template |
Lekéri vagy beállít egy hivatkozást arra az objektumra, amely rögzíti vagy lejátssza a sablon XAML-csomópontjait, amikor a sablont egy író definiálja vagy alkalmazza. (Öröklődés forrása FrameworkTemplate) |
| Triggers |
Olyan eseményindítók gyűjteményét kapja meg, amelyek tulajdonságértékeket alkalmaznak, vagy egy vagy több feltétel alapján hajtanak végre műveleteket. |
| VisualTree |
Lekéri vagy beállítja a sablon gyökércsomópontját. (Öröklődés forrása FrameworkTemplate) |
Metódusok
| Name | Description |
|---|---|
| CheckAccess() |
Meghatározza, hogy a hívó szál hozzáfér-e ehhez DispatcherObject. (Öröklődés forrása DispatcherObject) |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| FindName(String, FrameworkElement) |
Megkeresi a sablonban definiált megadott névhez társított elemet. (Öröklődés forrása FrameworkTemplate) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| LoadContent() |
Betölti a sablon tartalmát egy objektum példányaként, és visszaadja a tartalom gyökérelemét. (Öröklődés forrása FrameworkTemplate) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| RegisterName(String, Object) |
Új név/objektumpárt regisztrál az aktuális névtartományba. (Öröklődés forrása FrameworkTemplate) |
| Seal() |
Zárolja a sablont, hogy ne lehessen módosítani. (Öröklődés forrása FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Olyan értéket ad vissza, amely jelzi, hogy a szerializálási folyamatok szerializálják-e a tulajdonság értékét az Resources osztály példányaiban. (Öröklődés forrása FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Olyan értéket ad vissza, amely jelzi, hogy a szerializálási folyamatok szerializálják-e a tulajdonság értékét az VisualTree osztály példányaiban. (Öröklődés forrása FrameworkTemplate) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| UnregisterName(String) |
Eltávolít egy név-/objektumleképezést az XAML névtávcsőből. (Öröklődés forrása FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Ellenőrzi a sablonos szülőt egy szabálykészleten. |
| VerifyAccess() |
Kényszeríti, hogy a hívószál hozzáférhessen ehhez.DispatcherObject (Öröklődés forrása DispatcherObject) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| INameScope.FindName(String) |
A megadott azonosító névvel rendelkező objektumot ad vissza. (Öröklődés forrása FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Lekérdezi, hogy egy adott környezeti tulajdonság elérhető-e az aktuális hatókörben. (Öröklődés forrása FrameworkTemplate) |