NavigateUri как динамический ресурс? - PullRequest
0 голосов
/ 05 сентября 2018

Я использую словари ресурсов для многоязычной поддержки и связываю свои метки как DynamicResource. Однако есть ли простой способ использовать гиперссылку NavigateUri в качестве DynamicResource? Я не могу найти ни одного типа Uri в mscorlib. Uri, на который должен ссылаться элемент управления гиперссылкой, зависит от языка, и я хотел бы, чтобы он был легким и имел гиперссылку в моих словарях.

В словаре:

xmlns:system="clr-namespace:System;assembly=mscorlib"

<system:String x:Key="ww-url-label">Password forgotten?</system:String>
<system:String x:Key="ww-url">https://somelink</system:String>

В окне xaml:

<Hyperlink NavigateUri="{DynamicResource ww-url}" RequestNavigate="Hyperlink_RequestNavigate">
<TextBlock Text="{DynamicResource ww-url-label}" />
</Hyperlink>

Очевидно, что NavigateUri не работает. Конечно, я мог бы добавить ссылку программно, но я бы предпочел сохранить ее в ResourceDictionary ... Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 05 сентября 2018

Очевидно, что NavigateUri не работает

Это не очевидно . Если вы получаете ошибку - всегда добавляйте ее к вопросу.

Ваша ошибка в том, что вы пытаетесь использовать string для указания Uri, поэтому вы получаете

Невозможно привести объект типа 'System.String' к типу 'System.Uri'.

Сделайте это изменение, чтобы определить ww-url, и с вами все будет в порядке:

<ResourceDictionary xmlns:sys="clr-namespace:System;assembly=System" ...>
    <sys:Uri x:Key="ww-url">https://somelink</sys:Uri>
</ResourceDictionary>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...