Как получить динамическое имя ключа ресурса программно?

Я понял: пружинная сессия устарела, мне нужно ее удалить и изменить несколько вещей в securityConfiguration, потому что некоторые классы, где удалены / переименованы.

0
задан user3774699 21 January 2019 в 08:22
поделиться

1 ответ

Создайте следующий вспомогательный метод:

public string GetDynamicResourceKey(DependencyObject dObj, DependencyProperty dp)
{
    var value = dObj.ReadLocalValue(dp);
    var converter = new ResourceReferenceExpressionConverter();
    var dynamicResource = converter.ConvertTo(value, typeof(MarkupExtension)) as DynamicResourceExtension;
    return dynamicResource?.ResourceKey as string;
}

Теперь используйте его со своими TextBlock:

var resourceKey = GetDynamicResourceKey(txMy, TextBlock.TextProperty);

Я адаптировал это решение из здесь .

0
ответ дан redcurry 21 January 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: