从代码背后获取资源名称

时间:2018-11-22 16:05:10

标签: wpf

我有一个带有以下xaml的TextBlock:

<TextBlock x:Name="typeTextBlock" Text="{DynamicResource TypeString}" ></TextBlock>

我想在后面的代码中获取字符串“ TypeString”,并将其分配给字符串类型的变量。我该如何实现?

string typeResource = ???

现在typeResource变量应等于字符串“ TypeString”

注意: 我不想获取资源的价值,但想要获取资源的名称:

 "TypeString": "Type",

我不想要字符串“ Type”,而是字符串:“ TypeString”。

1 个答案:

答案 0 :(得分:0)

尝试一下:

string typeResource = Application.Current.Resources["TypeString"] as string;

更新:希望现在我可以正确回答问题了:

string typeResource = typeTextBlock.GetBindingExpression(TextBlock.TextProperty).ResolvedSourcePropertyName;

更新2 :刚刚遇到另一种方法:

string typeResource = BindingOperations.GetBinding(typeTextBlock, TextBlock.TextProperty).Path.Path;