在EventArgs之间进行转换

时间:2014-04-27 14:23:41

标签: c# windows-phone-8 windows-runtime

在Windows运行时应用程序中的页面之间导航时,我很难尝试访问原始FileActivatedEventArgs

在页面之间导航时,EventArgs变为NavigationEventArgs,每当我尝试将其强制转换为FileActivatedEventArgs时,都会抛出错误。

我甚至无法将其转换为System.EventArgs从那一点做一些继承

任何人都可以帮我吗?

我致电Frame.Navigate(***,args)在页面之间导航。

拨打电话的页面:

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

接听电话的页面

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

1 个答案:

答案 0 :(得分:1)

将参数传递给Navigate时,此参数不会直接传递给NavigatedTo事件;它作为NavigationEventArgs的属性传递。

要检索它,你应该这样做:

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