2015-06-18 125 views

回答

2

它以與Share Target相同的方式完成。

  1. 聲明在你的Package.appxmanifest文件打開/保存選取器。
  2. 在PhoneApplicationService.Launching事件處理程序檢查ARGS是否可以鑄造到PhoneFileOpen(保存)PickerLaunchingEventArgs:
private void Application_Launching(object sender, LaunchingEventArgs e) 
{ 
    var fileOpenPickerArgs = (e as PhoneFileOpenPickerLaunchingEventArgs); 
    if (fileOpenPickerArgs != null) 
    { 
     this.FileOpenPickerUI = fileOpenPickerArgs.FileOpenPickerActivatedEventArgs.FileOpenPickerUI; 
    } 
} 
  • 您可以創建自己的UriMapper,將導航到FilePickerPage的情況下,應用程序與FilePickerArgs推出:

    public class FilePickerUriMapper : UriMapperBase 
    { 
        public override Uri MapUri(Uri uri) 
        { 
         if ((Application.Current as App).FileOpenPickerUI != null) 
         { 
          return new Uri(uri.ToString().Replace("MainPage", "FilePickerPage"), UriKind.Relative); 
         } 
         return uri; 
        } 
    } 
    

    集RootFrame UriMapper屬性來InitializePhoneApplication方法定製UriMapper:

    RootFrame.UriMapper = new FilePickerUriMapper(); 
    

    此外,您可以從應用程序開始頁面處理導航,在這種情況下,您將不需要實現UriMapper。

  • 爲FilePicker創建新頁面,並使用您從LaunchingEventArgs獲取的FileOpen(Save)PickerUI來處理用戶選取或添加文件。

  • P.S當您使用FilePickerContract調用時,無法更改ApplicationBar。

    相關問題