2016-09-17 3 views
0

Ich versuche, den DataTemplateKey eines DataTemplate abzurufen, das in einer Ressource definiert ist.Get DataType/DataTemplateKey

<DataTemplate x:Key="Cell" x:DataType="model:Cell"> 
     <CheckBox IsChecked="{Binding Empty}" ></CheckBox> 
    </DataTemplate> 

Ich bin in der Lage, die Datatemplate in dem Code-Behind zugreifen, aber die Datatemplate enthält keine Informationen über die DataTemplateKey.

Ich habe versucht, den DataType von Reflection zu bekommen/zu lesen, aber ich kann es nicht finden.

Ist der x: DataType eine angehängte Eigenschaft? Ich kann die richtige Klasse nicht finden.

Wie kann ich den Datentyp der Datatemplate

Antwort

1
var key = new System.Windows.DataTemplateKey(typeof(YourViewModel)); 
var dataTemplate = (DataTemplate)this.FindResource(key); 

var tc = dataTemplate.LoadContent().GetType(); 

Try Verwendung dieses

+0

dataTemplate.LoadContent(). GetType() gibt für meine Datatemplate die Art der CheckBox – Briefkasten

+0

In UWP es tut auch nicht FindResource (Schlüssel) in der Resource-Klasse vorhanden. Sie können nur FindName() verwenden. – Briefkasten