2016-09-17 1 views
0

私は、リソースで定義されているDataTemplateのDataTemplateKeyを取得しようとしています。GetDataType/DataTemplateKey

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

私は分離コードでのDataTemplateにアクセスすることができるんだけど、DataTemplateをはDataTemplateKeyに関する情報が含まれていません。

var bla = DataTemplate.GetType().GetTypeInfo(); 

ReflectionでDataTypeを取得/読み取りしようとしましたが、見つかりませんでした。

x:DataTypeは接続されたプロパティですか?私は適切なクラスを見つけることができません。

どのように私はDataTemplateを

答えて

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

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

のデータ型は、この

+0

dataTemplate.LoadContentを(使用してみ取得することができます)。メソッドGetType()私のDataTemplateのために返されますがUWPのチェックボックス – Briefkasten

+0

の種類もありませんResourceクラスのFindResource(key)が存在します。 FindName()のみ使用できます。 – Briefkasten