Пример #1
0
        private void SelectionManager(EO.Wpf.TreeViewItem treeViewItem, bool isRightClick = true)
        {
            Kernel.Domain.Role role;

            if (treeViewItem.Header.ToString() == defaultValue.name)
            {
                role = null;
                treeViewItem.Focus();
            }
            else
            {
                role = this.Root.GetChildByName(treeViewItem.Header.ToString()) as Domain.Role;
                if (!CtrlPressed)
                {
                    if (!isRightClick || (isRightClick && !selectedItems.ContainsKey(treeViewItem) && !selectedRoles.Keys.Contains(role)))
                    {
                        removeCTRLSelection();
                        selectedItems.Add(treeViewItem, null);
                        SetSelectedItem(treeViewItem);
                        selectedRoles.Add(role, selectedRoles.Count + 1);
                    }
                }
                else if (CtrlPressed && !selectedItems.ContainsKey(treeViewItem) && !selectedRoles.Keys.Contains(role))
                {
                    selectedItems.Add(treeViewItem, null);
                    selectedRoles.Add(role, selectedRoles.Count + 1);
                    SetSelectedItem(treeViewItem);
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Cette methode permet la selection du noeud présent derrière la souris
 /// lorsque fait un click-droit.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnPreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
 {
     EO.Wpf.TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject);
     if (treeViewItem != null)
     {
         treeViewItem.Focus();
         SelectionManager(treeViewItem);
         e.Handled = true;
     }
     else
     {
         Kernel.Domain.Role r = GetSelectedRole();
         if (r != null)
         {
             r.IsSelected = false;
         }
         tree.Focus();
         removeCTRLSelection();
     }
 }