无法了解如何使用Windows Phone 8.1 Silverlight应用程序的文件选择器合同。所有文档都与Windows Store 8.1应用程序相关,但没有任何内容与https://msdn.microsoft.com/的Silverlight 8.1应用程序相关。
答案 0 :(得分:2)
与Share Target完全相同。
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();
此外,您可以从Application Start页面处理导航,在这种情况下,您不需要实现UriMapper。
为FilePicker创建新页面,并使用您从LaunchingEventArgs中获取的FileOpen(Save)PickerUI来处理用户选择或添加文件。
P.S当您使用FilePickerContract调用时,无法更改ApplicationBar。