我有一个使用 ax:Key 来标识自己的 DataTemplate,如下所示:
<DataTemplate
x:Key="myTemplate
>
...
</DataTemplate>
在其他一些 C# 代码中,我有对此 DataTemplate 的引用,但实际上想要检索 DataTemplate 的 x:Key。
问题:
有没有办法在 C# 中从 DataTemplate 中检索 DataTemplate 的 x:Key?
您可以遍历所有资源并检查它们的密钥。
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);
尝试这个:
foreach (var key in this.Resources.Keys)
{
Console.WriteLine(key);
}