2012-03-28 2 views
0

방금 ​​Windows 8 용 개발을 시작했으며 페이지 간 탐색에 매개 변수를 전달하기가 어려웠습니다.URI를 매개 변수로 전달하는 Windows 8 탐색

내가하려는 것은 : 두 페이지 (page1 및 page2)가 있습니다. page1에는 버튼이있는 메뉴가 있습니다. 이 버튼을 클릭하면 click 이벤트는 page2에서 이미지 소스를 설정하는 매개 변수로 가능한 URI 또는 ​​경로를 전달해야합니다.

private void Button_Click_2(object sender, RoutedEventArgs e) 
{ 
    //this.Frame.Navigate(typeof(SplitPage), "ms-appx:/Imgs/1.png"); 
    this.Frame.Navigate(typeof(SplitPage), new Uri("ms-appx:/Imgs/1.png", UriKind.RelativeOrAbsolute)); 
} 

및 페이지 2 열린 우리당를 수신, :

이 PAGE1의 코드는

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var imgSource = e.Parameter as ImageSource; 
    this.imgParaPintar.Source = imgSource; 
} 

내가 imgSource 아무것도 수신되지 않는 것을 알았어 야, 그것은로서 null를 유지합니다.

그래서 내가 잘못하고있는 부분이나 누락 된 부분에 대한 단서가 있습니까?

+0

당신은'Uri'를 통과 한 후'ImageSource'로 캐스팅합니다. 'ImageSource'는'Uri'가 아니며 왜 그렇게 될 것이라고 생각하십니까? – svick

+0

'Image' 클래스에는'UriSource' 매개 변수가 있습니까? –

+0

@svick, 나는 주석 처리 된 선에서 볼 수 있듯이 내가 작업하고있는 두 가지 옵션을 제공했습니다. 둘 다 작동하지 않습니다. – Boga

답변

2

난 당신이 (안된)과 같은 코드를 필요가 있다고 생각 :

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    this.imgParaPintar.Source = new BitmapImage((Uri)e.Parameter); 
} 

당신은 이미 그것을 가지고하지 않는 경우, 파일에 using Windows.UI.Xaml.Media.Imaging;을 추가해야 할 수도 있습니다. 여기에 코멘트에 명시된 바와 같이

관련 문제