Windows Phone 8.1 Silverlight 应用程序的文件选取器合同
File picker contracts for Windows Phone 8.1 Silverlight app
无法找到如何为 Windows Phone 8.1 Silverlight 应用程序使用文件选择器合同。所有文档都与 Windows Store 8.1 Apps 相关,但在 https://msdn.microsoft.com/.
没有提及与 Silverlight 8.1 Apps 相关的内容
与Share Target的方法相同。
- 在您的 Package.appxmanifest 文件 Open/Save 选择器中声明。
- 在 PhoneApplicationService.Launching 事件处理程序中检查是否可以将 args 转换为 PhoneFileOpen(Save)PickerLaunchingEventArgs:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
var fileOpenPickerArgs = (e as PhoneFileOpenPickerLaunchingEventArgs);
if (fileOpenPickerArgs != null)
{
this.FileOpenPickerUI = fileOpenPickerArgs.FileOpenPickerActivatedEventArgs.FileOpenPickerUI;
}
}
您可以创建自己的 UriMapper,如果应用程序是使用 FilePickerArgs 启动的,它将导航到 FilePickerPage:
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;
}
}
在 InitializePhoneApplication 方法中将 RootFrame UriMapper 属性 设置为自定义 UriMapper:
RootFrame.UriMapper = new FilePickerUriMapper();
此外,您可以从“应用程序开始”页面处理导航,在这种情况下您将不需要实现 UriMapper。
为 FilePicker 创建新页面并使用您从 LaunchingEventArgs 获取的 FileOpen(Save)PickerUI 处理用户选取或添加文件。
P.S 使用 FilePickerContract 调用时,您无法更改 ApplicationBar。
无法找到如何为 Windows Phone 8.1 Silverlight 应用程序使用文件选择器合同。所有文档都与 Windows Store 8.1 Apps 相关,但在 https://msdn.microsoft.com/.
没有提及与 Silverlight 8.1 Apps 相关的内容与Share Target的方法相同。
- 在您的 Package.appxmanifest 文件 Open/Save 选择器中声明。
- 在 PhoneApplicationService.Launching 事件处理程序中检查是否可以将 args 转换为 PhoneFileOpen(Save)PickerLaunchingEventArgs:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
var fileOpenPickerArgs = (e as PhoneFileOpenPickerLaunchingEventArgs);
if (fileOpenPickerArgs != null)
{
this.FileOpenPickerUI = fileOpenPickerArgs.FileOpenPickerActivatedEventArgs.FileOpenPickerUI;
}
}
您可以创建自己的 UriMapper,如果应用程序是使用 FilePickerArgs 启动的,它将导航到 FilePickerPage:
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; } }
在 InitializePhoneApplication 方法中将 RootFrame UriMapper 属性 设置为自定义 UriMapper:
RootFrame.UriMapper = new FilePickerUriMapper();
此外,您可以从“应用程序开始”页面处理导航,在这种情况下您将不需要实现 UriMapper。
为 FilePicker 创建新页面并使用您从 LaunchingEventArgs 获取的 FileOpen(Save)PickerUI 处理用户选取或添加文件。
P.S 使用 FilePickerContract 调用时,您无法更改 ApplicationBar。