次のように、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);
}