2014-11-16 2 views
0

Я на самом деле работаю над приложением, которое в начале было простым приложением Windows Phone 8.1. Я хотел реализовать приложение с помощью FileOpenPicker, чтобы получить изображение с устройства. В WP 8.1 я должен использовать PickSingleFileAndContinue метод OpenFilePicker. Поэтому я прочитал о настройке моего проекта для обработки Продолжить мероприятие здесь: your Windows Phone Store app after calling an AndContinue method MSDN. Один из шагов - реализовать метод OnActivated в файле app.xaml.cs. Но нет метода OnActivated в моем приложении app.xaml.cs.У меня нет метода OnActivated в app.xaml.cs Windows Phone 8.1

Я скопировать вставить этот метод из приведенной выше ссылке, но объект MainPage используется в этом методе не имеет Текущее состояние:

protected async override void OnActivated(IActivatedEventArgs e) 
    { 
     base.OnActivated(e); 

     continuationManager = new ContinuationManager(); 

     Frame rootFrame = CreateRootFrame(); 
     await RestoreStatusAsync(e.PreviousExecutionState); 

     if (rootFrame.Content == null) 
     { 
      rootFrame.Navigate(typeof(MainPage)); 
     } 

     var continuationEventArgs = e as IContinuationActivatedEventArgs; 
     if (continuationEventArgs != null) 
     { 
      Frame scenarioFrame = MainPage.Current.FindName("ScenarioFrame") as Frame; 
      if (scenarioFrame != null) 
      { 
       // Call ContinuationManager to handle continuation activation 
       continuationManager.Continue(continuationEventArgs, scenarioFrame); 
      } 
     } 

     Window.Current.Activate(); 
    } 

Как я знал, что в Windows Phone и только перед управление штатами приложения, я не могу понять, откуда эта ошибка. Может, у кого-то появилась идея?

ответ

1

Это не будет на 100% до тех пор, пока вы не загрузите полный исходный код с этой ссылки. Они пренебрегли отправкой полного примера (слишком много кода). Загрузите демонстрационный проект C# и посмотрите на него.

MSDN FilePicker FULL SOURCE

public sealed partial class MainPage : Page 
{ 
    public static MainPage Current;   

    public MainPage() 
    { 
     this.InitializeComponent();    

     // This is a static public property that allows downstream pages to get a handle to the MainPage instance 
     // in order to call methods that are in this class. 
     Current = this;    

     Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed; 
    } 
} 

Как вы можете видеть, что это просто статическое заявление.

+0

Дело в том, что я удалил страницу MainPage.xaml, потому что мне она не нужна. Поэтому я понял, что иногда полезно иметь пустую страницу, поэтому я создал back MainPage.xaml. Я добавил к нему статическое объявление MainPage, все еще получая ту же ошибку в App.xaml.cs: ** MainPage подсвечивается, поскольку у него нет компонента «Текущий» ... ** –

+0

@HubertSolecki публикует вашу главную страницу. xaml.cs (весь файл), я не вижу, чтобы это произошло, если не произошло что-то странное. Или вы можете просто удалить этот файл, а Add -> New Item -> Visual C# -> Windows Phone Portrait. Назовите, что MainPage.xaml –

Смежные вопросы