【问题标题】:Silverlight windows phone 8.1 FileOpenPicker for all files Continue not workingSilverlight windows phone 8.1 FileOpenPicker for all files 继续不工作
【发布时间】:2016-05-23 09:07:33
【问题描述】:

我创建了 silverlight windows phone 8.1 项目,我需要从 windows phone 中选择所有类型的文件

我使用 FileOpenPicker 选择它正确重定向的文件,我可以选择文件这是我的代码

       FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.List;
        openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;

        openPicker.FileTypeFilter.Add("*");
        openPicker.PickMultipleFilesAndContinue();

我关注this msdn 接收选择

就我而言 如果我选择文件并返回应用程序,它的一切正常 如果我没有选择任何文件并使用移动硬件返回按钮返回,我的应用程序会进入主屏幕。 但它需要保留文件选择器页面

我的第一页

当我在屏幕上方按下移动硬件后退按钮时,页面重定向到我的第一页,它需要留在我的第二页

谢谢

【问题讨论】:

  • 不太确定您想要什么,但您是否尝试过使用protected override void OnBackKeyPress(CancelEventArgs e)?然后,您可以决定硬件后退按钮上会发生什么。
  • JTIM 当我按下照片中的后退按钮时,电话页面应该回到我的第二页(附加按钮页面)但现在它重定向到第一页。这里返回键按下不会命中
  • 然后您可以从页面中捕获导航 uri 并保存一个变量,然后在重新激活应用程序时进行比较。在重新激活时,您然后指定您应该导航到哪个页面。但是,您不导航到第二个屏幕似乎很奇怪,这将是正常行为。是否将应用程序推送到后台时设置为墓碑?
  • JTIM,我做了一些小技巧。在 OnNavigatingFrom 方法中,请让我知道我做错了什么。请在下面找到我的答案

标签: silverlight windows-phone-8.1 fileopenpicker windows-phone-silverlight all-files


【解决方案1】:

终于我得到了答案,避免重定向

 bool reset;
        protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
        {

            if(reset && e.uri.tostring().Equals("MainPage.xaml"))
             {
                e.Cancel = true;
                reset = false
             }


        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {

            reset = e.NavigationMode == NavigationMode.Reset;
        }

【讨论】:

  • 看起来不错,请注意,当用户现在在应用程序内并按后退键时,他可能会退出应用程序。由于导航堆栈中没有导航。仅供参考:)我不能说是否一切正常,您必须自己测试一下:)
猜你喜欢
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2014-12-13
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多