gpt4 book ai didi

c# - 将 FileOpenPicker 与 Silverlight 结合使用

转载 作者:行者123 更新时间:2023-11-30 16:59:41 29 4
gpt4 key购买 nike

Windows Phone 8.1 支持文件打开和文件保存选取器。我想对从 WP 8 转换为 WP 8.1 (Silverlight) 的项目使用文件打开选择器。

我可以按如下方式打开 FileOpenPicker:

FileOpenPicker picker = new FileOpenPicker();
picker.FileTypeFilter.Add(".txt");
picker.PickSingleFileAndContinue();

现在,我发现的所有示例都使用新的通用 Windows 运行时,其中生成的文件在 App.xaml.cs 中按如下方式捕获:

protected override void OnActivated(IActivatedEventArgs e) {     
ContinuationActivatedEventArgs = e as IContinuationActivatedEventArgs;
if (ContinuationEventArgsChanged != null)
{
// Handle file here
}
}

问题是转换后的 Silverlight 应用程序没有实现这个方法。相反,我从 Silverlight 应用程序的另一个示例 (http://msdn.microsoft.com/en-us/library/dn655125%28v=vs.105%29.aspx) 中得出了主要想法:

private void Application_Activated(object sender, ActivatedEventArgs e)
{
var eventArgs = e as IContinuationActivatedEventArgs;
if (eventArgs != null)
{
// Handle file here
}
}

但这不起作用(例如 eventArgs 总是 NULL)。

这里还有一个例子:http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn642086%28v=vs.105%29.aspx .这在 app.xaml.cs 中使用了以下方法:

private void Application_ContractActivated(object sender, IActivatedEventArgs e)
{
var filePickerContinuationArgs = e as FileOpenPickerContinuationEventArgs;
if (filePickerContinuationArgs != null)
{
// Handle file here
}
}

但我的应用中从未调用过此方法。

有人提示/想法如何让 FileOpenPicker 与 Silverlight WP8.1 应用程序一起工作吗?

问候,

最佳答案

看来需要手动给Microsoft.Phone.Shell.PhoneApplicationService.Current.ContractActivated添加一个事件处理器:

Microsoft.Phone.Shell.PhoneApplicationService.Current.ContractActivated +=  Application_ContractActivated;

private void Application_ContractActivated(object sender, IActivatedEventArgs e)
{
var filePickerContinuationArgs = e as FileOpenPickerContinuationEventArgs;
if (filePickerContinuationArgs != null)
{
// Handle file here
}
}

关于c# - 将 FileOpenPicker 与 Silverlight 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23456143/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com