コード例 #1
0
        private void DataGridRow_MouseRightButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            grid.UnselectAll();
            ((DataGridRow)sender).IsSelected = true;

            ContextMenu menu = new ContextMenu();

            MenuItem fileInfo = new MenuItem();

            fileInfo.Header = "Информация о источнике";
            fileInfo.Icon   = new System.Windows.Controls.Image
            {
                Source = new BitmapImage(new Uri("pack://application:,,,/Image/info.ico"))
            };
            fileInfo.Click += FileInfo_Click;
            menu.Items.Add(fileInfo);

            MenuItem openFolder = new MenuItem();

            openFolder.Header = "Открыть в проводнике";
            openFolder.Icon   = new System.Windows.Controls.Image
            {
                Source = new BitmapImage(new Uri("pack://application:,,,/Image/16/openfolder.ico"))
            };
            openFolder.Click += OpenFolder_Click;
            menu.Items.Add(openFolder);

            MenuItem editRoot = new MenuItem();

            editRoot.Header = "Редактировать источник";
            editRoot.Icon   = new System.Windows.Controls.Image
            {
                Source = new BitmapImage(new Uri("pack://application:,,,/Image/edit.ico"))
            };
            editRoot.Click += btnEditRoot_Click;
            menu.Items.Add(editRoot);

            MenuItem clearPathList = new MenuItem();

            clearPathList.Header  = "Очистить список путей";
            clearPathList.ToolTip = "Очистить список путей у выбранного источника.";
            clearPathList.Click  += (s, n) => MyFiles.ClearPathList(grid.SelectedIndex);
            menu.Items.Add(clearPathList);

            MenuItem clearRoot = new MenuItem();

            clearRoot.Header  = "Удалить источник";
            clearRoot.ToolTip = "Удалить выделенный источник из списка.";
            clearRoot.Icon    = new System.Windows.Controls.Image
            {
                Source = new BitmapImage(new Uri("pack://application:,,,/Image/delete.ico"))
            };
            clearRoot.Click += btnRemoveRoot_Click;
            menu.Items.Add(clearRoot);

            menu.IsOpen = true;
        }