• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

WPF下使用Uri的实例教程

c# 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

背景
在一个WPF开发的项目中要使用地图,原来用的google地图被屏蔽了,现在改用Baidu地图。采用百度地图的JavaScript API调用百度地图的应用,在WPF平台上使用的的是Webbroswer进行访问,中间就涉及到要用Webbroswer.Navigate加载html文件,Navigate使用的资源是Uri,它默认访问当前运行文件夹下面的资源也就是/bin/Debug下的资源。
我们可以通过把我们的html文件直接放在Debug文件下解决这个问题。怎样访问当前运行文件夹?参考附录1。问题本就此可以解决,但是当我们的项目应用Git版本控制之后,Git默认情况下是不会把/本文来源gaodai#ma#com搞*!代#%^码网5bin/Debug文件里面的东西放入到版本控制中,也就是说如果其他人通过版本控制clone我们的项目的话,它的项目中是缺少html文件的,现在我们要面临的问题就是如何用Uri加载相对路径下面的资源。
解决方法
Solution 1 :
还是访问当前文件夹下面的的资源,通过设置资源的属性,在编译的时候讲该资源复制到项目的/bin/Debug下。具体的做法就是在项目指添加你的资源,然后更改其属性中“复制到输出目录”改为“始终复制”,生成操作“内容”,具体做法参考一下
http://blog.gaodaima.com/yulongguiziyao/article/details/25131597
Solution 2 :
通过相对路径的访问,把你的资源放在项目的文件夹下,然后通过获取“../../”访问上级目录来获取。比如在项目中添加ThirdParty文件夹,并且在项目中ThirdParty下添加我要的资源BMap.html。我可以通过以下语句来访问该资源:
new Uri(System.Environment.CurrentDirectory + @"/../../ThirdParty/BMap.html", UriKind.RelativeOrAbsolute)
System.Environemnt.CurrentDirectory也就是/bin/Debug目录,通过/../../就回到了项目目录,这样项目目录下面存在着ThirdParty目录,我们就可以直接访问到这个资源了,同时这个资源也可以通过版本控制发布出去了,问题就可以解决了。

以上就是WPF下使用Uri的实例教程的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:WPF下使用Uri的实例教程
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址