WPF下使用Uri的執行個體教程

來源:互聯網
上載者:User
背景
在一個WPF開發的項目中要使用地圖,原來用的google地圖被屏蔽了,現在改用Baidu地圖。採用百度地圖的JavaScript API調用百度地圖的應用,在WPF平台上使用的的是Webbroswer進行訪問,中間就涉及到要用Webbroswer.Navigate載入html檔案,Navigate使用的資源是Uri,它預設訪問當前運行檔案夾下面的資源也就是/bin/Debug下的資源。
我們可以通過把我們的html檔案直接放在Debug檔案下解決這個問題。怎樣訪問當前運行檔案夾?參考附錄1。問題本就此可以解決,但是當我們的項目應用Git版本控制之後,Git預設情況下是不會把/bin/Debug檔案裡面的東西放入到版本控制中,也就是說如果其他人通過版本控制clone我們的項目的話,它的項目中是缺少html檔案的,現在我們要面臨的問題就是如何用Uri載入相對路徑下面的資源。
解決方案
Solution 1 :
還是訪問當前檔案夾下面的的資源,通過設定資源的屬性,在編譯的時候講該資源複製到項目的/bin/Debug下。具體的做法就是在項目指添加你的資源,然後更改其屬性中“複製到輸出目錄”改為“始終複製”,產生操作“內容”,具體做法參考一下
http://blog.csdn.net/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目錄,我們就可以直接存取到這個資源了,同時這個資源也可以通過版本控制發布出去了,問題就可以解決了。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.