private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var contextMenu = (ContextMenu)EntriesView.FindResource("DefaultContextMenu"); var fileContextMenu = (ContextMenu)EntriesView.FindResource("FileContextMenu"); var directoryContextMenu = (ContextMenu)EntriesView.FindResource("DirectoryContextMenu"); if (e.OldValue != null) { contextMenu.Items.Clear(); fileContextMenu.Items.Clear(); directoryContextMenu.Items.Clear(); } if (e.NewValue != null) { ContextMenuExtensions.SetSelectedItems(contextMenu, EntriesView.EntriesGrid.SelectedItems); ContextMenuExtensions.SetSelectedItems(fileContextMenu, EntriesView.EntriesGrid.SelectedItems); ContextMenuExtensions.SetSelectedItems(directoryContextMenu, EntriesView.EntriesGrid.SelectedItems); InitializeContextMenu(contextMenu, _scope.GetRequiredService <FileExplorerContextMenuManager>()); InitializeContextMenu(fileContextMenu, _scope.GetRequiredService <ListFileContextMenuManager>()); InitializeContextMenu(directoryContextMenu, _scope.GetRequiredService <ListDirectoryContextMenuManager>()); ////InitializeStatusBar(); } }
public ContextMenu Build([NotNull] object context, [NotNull] ContextMenuEventArgs e) { Assert.ArgumentNotNull(context, nameof(context)); Assert.ArgumentNotNull(e, nameof(e)); return(ContextMenuExtensions.GetContextMenu(context, e)); }
private void OpenNoItemsContextMenu([NotNull] object sender, [NotNull] ContextMenuEventArgs e) { Debug.ArgumentNotNull(e, nameof(e)); Debug.ArgumentNotNull(sender, nameof(sender)); var context = GetContext(); NoItemsPanel.ContextMenu = ContextMenuExtensions.GetContextMenu(context, e); }
private void InitializeContextMenu(MenuSection <ItemCommand <ClientViewModel> > contextMenuSource, ContextMenu contextMenu, IItemMenuFactory menuFactory) { var items = menuFactory.Create(contextMenuSource, null); foreach (var item in items) { contextMenu.Items.Add(item); } ContextMenuExtensions.SetSelectedItems(contextMenu, ClientsDataGrid.SelectedItems); }
private void OpenMenu([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var context = GetContext(); var contextMenu = ContextMenuExtensions.GetContextMenu(context); if (contextMenu == null) { return; } contextMenu.Placement = PlacementMode.Bottom; contextMenu.PlacementTarget = Menu; contextMenu.IsOpen = true; }