집 >백엔드 개발 >C#.Net 튜토리얼 >WPF에서 Uri를 사용하는 방법에 대한 예제 튜토리얼
Background
WPF 개발 프로젝트에서 지도를 사용해야 하는데, 기존 Google 지도가 차단되어 이제 대신 Baidu 지도를 사용하고 있습니다. Baidu Map의 JavaScript API는 Baidu Map 애플리케이션을 호출하는 데 사용됩니다. WPF 플랫폼에서는 Webbroswer.Navigate가 html 파일을 로드하는 데 사용됩니다. 기본적으로 현재 실행 중인 파일입니다. 폴더 아래의 리소스는 /bin/Debug 아래의 리소스이기도 합니다.
HTML 파일을 디버그 파일 바로 아래에 배치하면 이 문제를 해결할 수 있습니다. 현재 실행 중인 폴더에 어떻게 접근하나요? 부록 1을 참조하세요. 이 시점에서 문제는 해결될 수 있지만, 우리 프로젝트에서 Git 버전 제어를 적용하면 Git은 기본적으로 /bin/Debug 파일의 내용을 버전 제어에 넣지 않습니다. 즉, 다른 사람이 버전 제어를 통해 복제하는 경우입니다. 우리 프로젝트에는 html 파일이 부족합니다. 이제 우리가 직면해야 할 문제는 Uri를 사용하여 상대 경로에서 리소스를 로드하는 방법입니다.
해결책
해결책 1:
현재 폴더 아래의 리소스에 계속 액세스합니다. 리소스 속성을 설정하여 컴파일 중에 리소스를 프로젝트의 /bin/Debug에 복사합니다. 구체적인 방법은 프로젝트 핑거에 리소스를 추가한 다음 해당 속성을 "출력 디렉터리에 복사"에서 "항상 복사"로 변경하여 "콘텐츠" 작업을 생성하는 것입니다. http://blog.csdn.net을 참조하세요. 특정 방법의 경우 /yulongguiziyao/article/details/25131597
해결 방법 2:
상대 경로를 통해 액세스하고 리소스를 프로젝트 폴더에 넣은 다음 상위 디렉터리에 액세스하여 "../../ ". 예를 들어 프로젝트에 ThirdParty 폴더를 추가하고 프로젝트의 ThirdParty 아래에 원하는 리소스 BMap.html을 추가합니다. 다음 문을 통해 리소스에 액세스할 수 있습니다.
new Uri(System.Environment.CurrentDirectory + @"/../../ThirdParty/BMap.html", UriKind.RelativeOrAbsolute)
System.Environemnt.CurrentDirectory(/bin) /Debug 디렉터리, /../../를 통해 프로젝트 디렉터리로 돌아가면 프로젝트 디렉터리 아래에 ThirdParty 디렉터리가 있고 동시에 이 리소스에 직접 액세스할 수 있습니다. 버전 관리 질문 해결 가능합니다.
위 내용은 WPF에서 Uri를 사용하는 방법에 대한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!