我有一个DataTemplate使用x:Key来标识自己,如下所示:
<DataTemplate
x:Key="myTemplate
>
...
</DataTemplate>
在其他一些C#代码中,我有一个对这个DataTemplate的引用,但实际上想要检索DataTemplate的x:Key。
问题:
有没有办法从C#中的DataTemplate中检索DataTemplate的x:Key?
答案 0 :(得分:1)
您可以迭代所有资源并检查其密钥。
public static string GetResourceInDictionary(ResourceDictionary dictionary, object item)
{
return (from DictionaryEntry key in dictionary
where key.Value == item
select key.Key.ToString()).FirstOrDefault();
}
然后将其用于:
string resourceKey = GetResourceInDictionary(this.Resources, myResource);
答案 1 :(得分:0)
试试这个:
foreach (var key in this.Resources.Keys)
{
Console.WriteLine(key);
}