Sdílet prostřednictvím


DataTemplate.DataType Vlastnost

Definice

Získá nebo nastaví typ, pro který je to DataTemplate určeno.

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
public object DataType { get; set; }
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
member this.DataType : obj with get, set
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
Public Property DataType As Object

Hodnota vlastnosti

Výchozí hodnota je null.

Atributy

Poznámky

Tato vlastnost je velmi podobná TargetType vlastnosti Style třídy. Když tuto vlastnost nastavíte na datový typ bez zadání x:Key, DataTemplate automaticky se použije na datové objekty tohoto typu. Všimněte si, že x:Key když to uděláte implicitně. Proto pokud přiřadíte tuto DataTemplatex:Key hodnotu, přepisujete implicitní x:Key a DataTemplate se nepoužije automaticky.

Všimněte si také, že pokud vytváříte vazbu ContentControl na kolekci Task objektů, ContentControl nepoužívá DataTemplate se automaticky. Důvodem je to, že vazba na ContentControl potřebuje více informací k rozlišení, zda chcete vytvořit vazbu k celé kolekci nebo k jednotlivým objektům. Pokud ContentControl sleduje výběr typu ItemsControl, můžete nastavit vlastnost Path vazby ContentControl na "/", abyste označili, že vás zajímá aktuální položka. Příklad najdete v tématu Postupy: Vytvoření vazby ke kolekci a zobrazení informací na základě výběru. V opačném případě je nutné explicitně zadat DataTemplate nastavením vlastnosti ContentTemplate.

Vlastnost DataType je zvláště užitečná, pokud máte CompositeCollection různých typů datových objektů.

Pokud tato vlastnost cílí na element XML, který není ve výchozím oboru názvů, musíte před název elementu použít obor názvů nebo designátor oboru názvů. Pro XML vystavené prostřednictvím LINQ pro XML se obor názvů zobrazí ve složených závorkách před řídicí sekvencí složené závorky:

<DataTemplate DataType="{}{http://myNamespace}Details">

Pro XML vystavený prostřednictvím XPathu je název elementu před designátorem oboru názvů vytvořeným instancí XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">

Použití atributu XAML

<object DataType="typeName"/>

Hodnoty XAML

Typename Pokud je šablona určena pro data objektu, tato vlastnost obsahuje název typu datového objektu (jako řetězec). Pokud chcete odkazovat na název typu třídy, použijte rozšíření x:Type Markup Extension. Pokud je šablona určena pro data XML, tato vlastnost obsahuje název elementu XML. Podrobnosti o zadání jiného než výchozího oboru názvů pro element XML najdete v poznámkách k dokumentaci.

Platí pro

Viz také