Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为DynamicSource的NavigateUri?_C#_Wpf - Fatal编程技术网

C# 作为DynamicSource的NavigateUri?

C# 作为DynamicSource的NavigateUri?,c#,wpf,C#,Wpf,我正在使用资源字典来支持多语言,并将我的标签链接为DynamicSource。但是,有没有一种简单的方法可以将超链接的NavigateUri也用作DynamicSource?我在mscorlib中找不到任何Uri类型。超链接控件应该链接到的Uri取决于语言,我希望保持简单,并将超链接保存在我的字典中 在字典中: xmlns:system="clr-namespace:System;assembly=mscorlib" <system:String x:Key="ww-url-label"

我正在使用资源字典来支持多语言,并将我的标签链接为DynamicSource。但是,有没有一种简单的方法可以将超链接的NavigateUri也用作DynamicSource?我在mscorlib中找不到任何Uri类型。超链接控件应该链接到的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>
xmlns:system=“clr命名空间:系统;程序集=mscorlib”
忘记密码?
https://somelink
在窗口xaml中:

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

很明显,导航器坏了。我当然可以通过编程方式添加链接,但我更愿意将其保存在ResourceDictionary中。。。有没有一个简单的技巧可以做到这一点

很明显,导航器坏了

不明显。如果你发现错误,总是把它添加到问题中

您的错误是试图使用
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>

https://somelink

我已经尝试过了,因为我认为很明显我无法将字符串链接到Uri类型。但是,mscorlib中没有Uri。非常感谢您的回答,我已经添加了系统组件,现在sys:Uri正在工作!谢谢