DataTemplate.DataType Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.