로드하려는 페이지를 나타내는 System.Type 개체가 있습니다. 이 페이지는 현재 어셈블리 나 다른 라이브러리에서 가져온 것일 수 있습니다. 그것을 Frame.Navigate로 전달할 수있는 System.Uri로 변환하는 일반적인 방법이 있습니까?System.Type을 Uri로 변환하려면 어떻게해야합니까?
0
A
답변
1
둘 사이의 표준 인터페이스는 모든 개체가 ToString()을 구현하고 하나 이상의 System.Uri 생성자가 문자열을 사용한다는 것입니다.
그 이상이면 나만의 작품이어야합니다.
1
페이지 유형 및 페이지 URI는 반드시 깨끗한 매핑되지 않습니다,하지만 당신은 미친 아무 짓도하지 한 경우, 당신이 뭔가를 할 수 있습니다 :
Type blah;
var location = new Uri("/" + blah.Name + ".xaml", UriKind.Relative);
0
이 완벽한 해결책이 아니다. 어셈블리 이름과 루트 네임 스페이스가 일치해야합니다. 또한 네임 스페이스 구조와 일치시키기 위해 asseblies 폴더 구조가 필요합니다.
var assemblyName = pageType.Assembly.FullName.Substring(0, pageType.Assembly.FullName.IndexOf(","));
var pageName = pageType.FullName;
pageName = pageName.Substring(assemblyName.Length+1);
pageName = pageName.Replace(".", "/");
var targetString = string.Format("/{0};component/{1}.xaml",assemblyName, pageName);
var targetUri = new Uri(targetString, UriKind.Relative);
+0
참조 : http://windowsphonegeek.com/tips/wp7-navigating-to-a-page-in-different-assembly –
관련 문제
- 1. C# 질문 - PageURI 및 Href를 절대 URL/URI로 변환하려면 어떻게해야합니까?
- 2. 문자열을 Uri로 변환
- 3. 사용자를 MouseLeftButtonUp의 URI로 보내려면 어떻게해야합니까?
- 4. 구조체가 System.Type을 찾고 있습니다.
- 5. JSONArray를 JSONObject로 변환하려면 어떻게해야합니까?
- 6. eps를 jpg로 변환하려면 어떻게해야합니까?
- 7. NSDecimalNumber를 NSInteger로 변환하려면 어떻게해야합니까?
- 8. DIB를 BMP로 변환하려면 어떻게해야합니까?
- 9. IntPtr을 스트림으로 변환하려면 어떻게해야합니까?
- 10. JAXB를 JSON으로 변환하려면 어떻게해야합니까?
- 11. System.Windows.Input.Key를 숫자로 변환하려면 어떻게해야합니까?
- 12. HTML을 XPS로 변환하려면 어떻게해야합니까?
- 13. * char를 _TCHAR로 변환하려면 어떻게해야합니까?
- 14. java.util.Date를 org.joda.time.DateTime으로 변환하려면 어떻게해야합니까?
- 15. HTML을 Textile로 변환하려면 어떻게해야합니까?
- 16. wostream을 ostream으로 변환하려면 어떻게해야합니까?
- 17. 문자열을 정수로 변환하려면 어떻게해야합니까?
- 18. int를 char로 변환하려면 어떻게해야합니까?
- 19. MVC 3으로 변환하려면 어떻게해야합니까?
- 20. 이미지를 PDF로 변환하려면 어떻게해야합니까?
- 21. XSD를 XSLT로 변환하려면 어떻게해야합니까?
- 22. NSString을 NSData로 변환하려면 어떻게해야합니까?
- 23. 목록을 배열로 변환하려면 어떻게해야합니까?
- 24. 문자열을 객체로 변환하려면 어떻게해야합니까?
- 25. .htaccess를 web.config로 변환하려면 어떻게해야합니까?
- 26. ListViewItem을 ListView.SelectedListViewItemCollection으로 변환하려면 어떻게해야합니까?
- 27. Type.registerNamespace를 TypeScript로 변환하려면 어떻게해야합니까?
- 28. 정수를 qbitarray로 변환하려면 어떻게해야합니까?
- 29. 사전을 조회로 변환하려면 어떻게해야합니까?
- 30. Int를 CString으로 변환하려면 어떻게해야합니까?
클로저. 불행히도 클래스가 프로젝트의 루트 폴더에 있지 않으면 작동하지 않습니다. –
네, 그게 내가 미친 짓을하는 것에 대해 위에 말한 것입니다. 문제는 정보가 충분하지 않을 수 있다는 것입니다. 유형의 네임 스페이스는 위치를 결정하는 데 도움이 될 수 있지만 행 정렬을 요구하는 것은 없습니다. – McKay