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?
С уважением,