private void TreeView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { try { Point point = e.GetPosition(PART_RemoteTree); RemoteTreeViewItem element = PART_RemoteTree.GetElementFromPoint <RemoteTreeViewItem>(point); if (element != null) { if (element.IsHeaderEdit == false && element.RemoteType != RemoteType.dir) { RemoteItems.Open((RemoteTreeViewItem)PART_RemoteTree.SelectedItem, DbItemSetting.OPEN_DEFAULT); } } } catch (Exception ex) { MainWindow.ShowMessageDialog("错误", ex.Message); } }
private void TreeView_MouseDown(object sender, MouseButtonEventArgs e) { if (e.RightButton == MouseButtonState.Pressed) { Point point = e.GetPosition(PART_RemoteTree); RemoteTreeViewItem element = PART_RemoteTree.GetElementFromPoint <RemoteTreeViewItem>(point); Dictionary <string, MenuItem> menuItemKeyValues = new Dictionary <string, MenuItem>(); foreach (var item in PART_RemoteTree.ContextMenu.Items) { MenuItem menuItem = item as MenuItem; if (menuItem != null) { menuItem.IsEnabled = true;//将所有右键菜单启用 menuItemKeyValues.Add(menuItem.Name, menuItem); } } if (element != null) { element.IsSelected = true; if (element.RemoteType == RemoteType.dir) { menuItemKeyValues["MenuItem_Link"].IsEnabled = false; menuItemKeyValues["MenuItem_LinkBackend"].IsEnabled = false; menuItemKeyValues["MenuItem_LinkSeparate"].IsEnabled = false; } } else { TreeViewItem item = PART_RemoteTree.SelectedItem as TreeViewItem; if (item != null) { item.IsSelected = false; } menuItemKeyValues["MenuItem_Link"].IsEnabled = false; menuItemKeyValues["MenuItem_LinkBackend"].IsEnabled = false; menuItemKeyValues["MenuItem_LinkSeparate"].IsEnabled = false; menuItemKeyValues["MenuItem_Rename"].IsEnabled = false; menuItemKeyValues["MenuItem_Delete"].IsEnabled = false; } } }