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; }