protected override async void Execute(object parameter) { if (parameter is StorageItemViewModel item) { if (item.Type == StorageItemTypes.Image || item.Type == StorageItemTypes.Archive) { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.ImageViewerPage), parameters, new SuppressNavigationTransitionInfo()); } else if (item.Type == StorageItemTypes.Folder) { var containerType = await _folderContainerTypeManager.GetFolderContainerType((item.Item as StorageItemImageSource).StorageItem as StorageFolder); if (containerType == FolderContainerType.Other) { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.FolderListupPage), parameters, new DrillInNavigationTransitionInfo()); } else { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.ImageViewerPage), parameters, new SuppressNavigationTransitionInfo()); } } else if (item.Type == StorageItemTypes.EBook) { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.EBookReaderPage), parameters, new SuppressNavigationTransitionInfo()); } else if (item.Type == StorageItemTypes.None) { ((ICommand)_sourceChoiceCommand).Execute(null); } } }
protected override async void Execute(object parameter) { if (parameter is StorageItemViewModel itemVM) { if (itemVM.Item is StorageItemImageSource storageItemImageSource) { var param = StorageItemViewModel.CreatePageParameter(itemVM); var tileArguments = new SecondaryTileArguments(); if (param.TryGetValue(PageNavigationConstants.Path, out string path)) { tileArguments.Path = Uri.UnescapeDataString(path); } if (param.TryGetValue(PageNavigationConstants.PageName, out string pageName)) { tileArguments.PageName = pageName; } var result = await _secondaryTileManager.AddSecondaryTile( tileArguments, itemVM.Name, storageItemImageSource.StorageItem ); } } }
private void FoldersMenuFlyout_Opened(object sender, object e) { var flyout = sender as FlyoutBase; var pageVM = DataContext as SourceStorageItemsPageViewModel; StorageItemViewModel itemVM = flyout.Target.DataContext as StorageItemViewModel; if (itemVM == null && flyout.Target is Control content) { itemVM = (content as ContentControl)?.Content as StorageItemViewModel; } if (itemVM == null) { flyout.Hide(); return; } OpenListupItem.CommandParameter = itemVM; OpenListupItem.Command = pageVM.OpenFolderListupCommand; OpenListupItem.Visibility = (itemVM.Type == Models.Domain.StorageItemTypes.Archive || itemVM.Type == Models.Domain.StorageItemTypes.Folder) ? Visibility.Visible : Visibility.Collapsed ; AddSecondaryTile.CommandParameter = itemVM; AddSecondaryTile.Command = pageVM.SecondaryTileAddCommand; AddSecondaryTile.Visibility = pageVM.SecondaryTileManager.ExistTile(itemVM.Path) ? Visibility.Collapsed : Visibility.Visible; RemoveSecondaryTile.CommandParameter = itemVM; RemoveSecondaryTile.Command = pageVM.SecondaryTileRemoveCommand; RemoveSecondaryTile.Visibility = pageVM.SecondaryTileManager.ExistTile(itemVM.Path) ? Visibility.Visible : Visibility.Collapsed; OpenWithExplorerItem.CommandParameter = itemVM; OpenWithExplorerItem.Command = pageVM.OpenWithExplorerCommand; RemoveSourceStorageItem.CommandParameter = itemVM; RemoveSourceStorageItem.Command = pageVM.DeleteStoredFolderCommand; SourceManageSeparetor.Visibility = SourceManageSubItem.Visibility = itemVM.Item.StorageItem.Path == itemVM.Path ? Visibility.Visible : Visibility.Collapsed ; }
protected override async void Execute(object parameter) { if (parameter is StorageItemViewModel item) { if (item.Type == StorageItemTypes.Archive) { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.FolderListupPage), parameters, new DrillInNavigationTransitionInfo()); } else if (item.Type == StorageItemTypes.Folder) { var parameters = StorageItemViewModel.CreatePageParameter(item); var result = await _navigationService.NavigateAsync(nameof(Presentation.Views.FolderListupPage), parameters, new DrillInNavigationTransitionInfo()); } else if (item.Type == StorageItemTypes.EBook) { } else if (item.Type == StorageItemTypes.None) { } } }
private void FolderAndArchiveMenuFlyout_Opened(object sender, object e) { var flyout = sender as FlyoutBase; var pageVM = DataContext as FolderListupPageViewModel; StorageItemViewModel itemVM = flyout.Target.DataContext as StorageItemViewModel; if (itemVM == null && flyout.Target is Control content) { itemVM = (content as ContentControl)?.Content as StorageItemViewModel; } if (itemVM == null) { flyout.Hide(); return; } if (itemVM.Item is StorageItemImageSource == false) { NoActionDescMenuItem.Visibility = Visibility.Visible; OpenListupItem.Visibility = Visibility.Collapsed; AddSecondaryTile.Visibility = Visibility.Collapsed; RemoveSecondaryTile.Visibility = Visibility.Collapsed; OpenWithExplorerItem.Visibility = Visibility.Collapsed; FolderAndArchiveMenuSeparator1.Visibility = Visibility.Collapsed; FolderAndArchiveMenuSeparator2.Visibility = Visibility.Collapsed; } else { OpenListupItem.CommandParameter = itemVM; OpenListupItem.Command = pageVM.OpenFolderListupCommand; OpenListupItem.Visibility = (itemVM.Type == Models.Domain.StorageItemTypes.Archive || itemVM.Type == Models.Domain.StorageItemTypes.Folder) ? Visibility.Visible : Visibility.Collapsed ; FolderAndArchiveMenuSeparator1.Visibility = OpenListupItem.Visibility; AddSecondaryTile.CommandParameter = itemVM; AddSecondaryTile.Command = pageVM.SecondaryTileAddCommand; AddSecondaryTile.Visibility = !pageVM.SecondaryTileManager.ExistTile(itemVM.Path) ? Visibility.Visible : Visibility.Collapsed ; RemoveSecondaryTile.CommandParameter = itemVM; RemoveSecondaryTile.Command = pageVM.SecondaryTileRemoveCommand; RemoveSecondaryTile.Visibility = pageVM.SecondaryTileManager.ExistTile(itemVM.Path) ? Visibility.Visible : Visibility.Collapsed ; FolderAndArchiveMenuSeparator2.Visibility = Visibility.Visible; OpenWithExplorerItem.CommandParameter = itemVM; OpenWithExplorerItem.Command = pageVM.OpenWithExplorerCommand; OpenWithExplorerItem.Visibility = Visibility.Visible; ; NoActionDescMenuItem.Visibility = Visibility.Collapsed; } }
public LaunchStorageItemMessage(StorageItemViewModel item) { Item = item; }