2014-04-27 2 views
1

내 Windows 런타임 응용 프로그램에서 페이지 간을 탐색 할 때 원래 FileActivatedEventArgs에 액세스하는 데 어려움을 겪고 있습니다.EventArgs 사이 캐스팅

페이지 사이를 탐색 할 때 EventArgs는 NavigationEventArgs이되고 FileActivatedEventArgs으로 캐스팅을 시도하면 오류가 발생합니다.

이 사람이 나를 도와 드릴까요 그 시점에서 어떤 상속을 할 System.EventArgs에 캐스팅 수없는 이유는 무엇입니까?

페이지간에 이동하려면 Frame.Navigate(***,args)으로 전화하십시오.

호출하게 페이지 : 당신이 Navigate에 매개 변수를 전달하는 경우 호출

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    StorageFile SF; 
    SF = (FileActivatedEventArgs)e; 
} 
+0

(전체) 오류가 무엇입니까 :

를 검색하려면, 당신은 이런 식으로 뭔가를해야합니까? 오류를 던지는 (전체) 코드는 무엇입니까? – gunr2171

+0

오류 형식 'Windows.UI.Xaml.Navigation.NavigationEventArgs'를 'Windows.ApplicationModel.Activation.FileActivatedEventArgs'로 변환 할 수 없습니다. – felartu

+0

Navigate 메서드에 대한 설명 읽기 http://msdn.microsoft.com/en-us/ library/ms602269 (v = vs.110) .aspx 및 해당 인수가 있으면 http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.navigated(v=vs.110). aspx 및 http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationeventargs(v=vs.110).aspx –

답변

1

를 수신

protected void IsPurchased(FileActivatedEventArgs args) 
{ 
    Frame.Navigate(typeof(Mypage),args) 
} 

페이지,이 매개 변수는 NavigatedTo 이벤트에 직접 전달되지 않습니다; 그것은 NavigationEventArgs의 재산으로 전달됩니다.

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var fileActivatedArgs = (FileActivatedEventArgs)e.Parameter; 
    var file = fileActivatedArgs.Files[0]; 
} 
+0

Works Flawlessly! 감사! – felartu