예제 #1
0
        private T GetClickedNode <T>(Point position) where T : TraceLab.UI.WPF.ViewModels.CLVBaseNode
        {
            T node = null;

            DependencyObject clickedVisualElement = ComponentLibrary.InputHitTest(position) as DependencyObject;
            TreeViewItem     itemContainer        = null;

            if (clickedVisualElement != null)
            {
                itemContainer = clickedVisualElement.GetParent <TreeViewItem>(this);
            }

            if (clickedVisualElement != null && itemContainer != null)
            {
                var parent    = itemContainer.GetParent <TreeViewItem>(this);
                var generator = ComponentLibrary.ItemContainerGenerator;
                if (parent != null)
                {
                    generator = parent.ItemContainerGenerator;
                }

                var clickedItem = generator.ItemFromContainer(itemContainer);
                node = clickedItem as T;
            }

            return(node);
        }
예제 #2
0
 public OwnershipHelper(ComponentLibrary componentLibrary)
 {
     this.componentLibrary = componentLibrary;
 }