示例#1
0
        private void ContextMenu_Opened(object sender, RoutedEventArgs e)
        {
            if (sender is ContextMenu ctxtMenu && ctxtMenu.PlacementTarget is ListView lstView && lstView.Parent is Grid grd && grd.Parent is FileList flList)
            {
                F_PasteMI.IsEnabled = flList.CanAdd && Clipboard.GetData("FichierCollection") is Fichier[] array && array.Length > 0;
            }
            if (sender is ContextMenu contextMenu && contextMenu.PlacementTarget is ListViewItem item && ItemsControl.ItemsControlFromItemContainer(item) is ListView listView && listView.Parent is Grid grid && grid.Parent is FileList fileList)
            {
                CutMI.IsEnabled   = fileList.CanRemove;
                PasteMI.IsEnabled = fileList.CanAdd && Clipboard.GetData("FichierCollection") is Fichier[] array && array.Length > 0;

                var selectedItems = listView.SelectedItems.OfType <Fichier>();
                SkipMI.IsEnabled = selectedItems.Any(fichier => fichier.IsCancellable);
            }
        }