protected override async void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     StorageFolder folder = KnownFolders.PicturesLibrary;//Camera Roll
     if (Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily.Equals("Windows.Mobile"))
     {
         IReadOnlyList<StorageFolder> folders = await folder.GetFoldersAsync();
         foreach(var item in folders)
         {
             if(item.Name.Equals("Camera Roll"))
             {
                 folder = item;
                 break;
             }
         }
     }           
     ObservableCollection<PictureListInfo> pictureList = pictureGrid.ItemsSource as ObservableCollection<PictureListInfo>;
     ObservableCollection<PictureListInfo> pictureListFlip = pictureFlipview.ItemsSource as ObservableCollection<PictureListInfo>;
     IReadOnlyCollection<StorageFile> files = await folder.GetFilesAsync();
     foreach(var item in files)
     {
         PictureListInfo info = new PictureListInfo();
         info.picturePath = item.Path;
         using (IRandomAccessStream fileStream = await item.OpenAsync(Windows.Storage.FileAccessMode.Read))
         {
             BitmapImage image = new BitmapImage();
             image.SetSource(fileStream);
             info.picture = image;
         }
         pictureList.Add(info);
         pictureListFlip.Add(info);
     }           
 }
 protected override async void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     StorageFolder folder = KnownFolders.PicturesLibrary;
     ObservableCollection<PictureListInfo> pictureList = pictureGrid.ItemsSource as ObservableCollection<PictureListInfo>;
     ObservableCollection<PictureListInfo> pictureListFlip = pictureFlipview.ItemsSource as ObservableCollection<PictureListInfo>;
     IReadOnlyCollection<StorageFile> files = await folder.GetFilesAsync();
     foreach (var item in files)
     {
         PictureListInfo info = new PictureListInfo();
         info.picturePath = item.Path;
         using (IRandomAccessStream fileStream = await item.OpenAsync(Windows.Storage.FileAccessMode.Read))
         {
             BitmapImage image = new BitmapImage();
             image.SetSource(fileStream);
             info.picture = image;
         }
         pictureList.Add(info);
         pictureListFlip.Add(info);
     }
     pictureFlipview.SelectedIndex = -1;
     if (e.Parameter != null && (e.Parameter as PageNavigateParam) != null)
     {
         //ProjectionViewPageInitializationData param = e.Parameter as PageNavigateParam;
         PageNavigateParam naviParam = e.Parameter as PageNavigateParam;
         if (naviParam.stage == GLOABOALSTAGE.MAINPAGE_PICFLIP)
         {
             pictureGrid.Visibility = Visibility.Collapsed;
             pictureFlipview.SelectedIndex = (int)naviParam.stageParam;
             pictureFlipview.Visibility = Visibility.Visible;
         }
         flipTimer = new DispatcherTimer();
         flipTimer.Tick += FlipTimer_Tick;
         flipTimer.Interval = new TimeSpan(0,0,1);
         flipTimer.Start();
         mainViewId = naviParam.MainViewId;
         //thisViewControl = param.ProjectionViewPageControl;
         //mainDispatcher = param.MainDispatcher;
         //thisViewControl.Released += ThisViewControl_Released;
         ((App)App.Current).projectedViewId = thisViewId;
     }
 }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     if (e.Parameter != null)
     {
         var param = e.Parameter;
         if (param.ToString().Equals((typeof(PictureListInfo)).ToString()))
         {
             PictureListInfo info = param as PictureListInfo;
             image.Source = info.picture;
             filePath = info.picturePath;
             this.info = info;
         }
         stage = GLOABOALSTAGE.EDITPAGE_CROP;
     }
 }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     if (e.Parameter != null)
     {
         var param = e.Parameter;
         if (param.ToString().Equals((typeof(PictureListInfo)).ToString()))
         {
             PictureListInfo info = param as PictureListInfo;
             image.Source = info.picture;
             filePath = info.picturePath;
             this.info = info;
         }
         else if (param.ToString().Equals((typeof(PageNavigateParam)).ToString()))
         {
             isProjected = true;
             PageNavigateParam projectParam = param as PageNavigateParam;
             mainViewId = projectParam.MainViewId;
             //thisViewControl = projectParam.ProjectionViewPageControl;
             //mainDispatcher = projectParam.MainDispatcher;
             //thisViewControl.Released += ThisViewControl_Released;
             GLOABOALSTAGE stageProjected = projectParam.stage;
             if(stageProjected != GLOABOALSTAGE.EDITPAGE_INK)
             {
                 monitorTimer = new DispatcherTimer();
                 monitorTimer.Interval = new TimeSpan(0, 0, 2);
                 monitorTimer.Tick += MonitorTimer_Tick;
                 monitorTimer.Start();
             }
             switch (stageProjected)
             {
                 case GLOABOALSTAGE.EDITPAGE_CROP:
                     cropParam = projectParam.stageParam as CropStateParam;
                     this.info = cropParam.PicInfo;
                     filePath = info.picturePath;
                     break;
                 case GLOABOALSTAGE.EDITPAGE_ROTATE:
                     RotateStateParam rotateParam = projectParam.stageParam as RotateStateParam;
                     this.info = rotateParam.PicInfo;
                     filePath = info.picturePath;
                     stage = GLOABOALSTAGE.EDITPAGE_ROTATE;
                     m_userRotation = rotateParam.UserRotation;
                     break;
                 case GLOABOALSTAGE.EDITPAGE_INK:
                     InkStateParam inkParam = projectParam.stageParam as InkStateParam;
                     this.info = inkParam.PicInfo;
                     filePath = info.picturePath;
                     stage = GLOABOALSTAGE.EDITPAGE_INK;
                     //((App)App.Current).SyncStrokeEx(strokeMapping, true);
                     ink.Visibility = Visibility.Visible;                                                   
                     break;
                 case GLOABOALSTAGE.EDITPAGE_TEXT:
                     TextStateParam textParam = projectParam.stageParam as TextStateParam;
                     this.info = textParam.PicInfo;
                     filePath = info.picturePath;
                     stage = GLOABOALSTAGE.EDITPAGE_TEXT;
                     break;
             }
         }
     }
 }