private static UIElement GetTarget(DependencyObject o) { UIElement uIElement = o as UIElement; if (uIElement == null) { ContentElement contentElement = o as ContentElement; if (contentElement != null) { DependencyObject dependencyObject = PopupControlService.FindContentElementParent(contentElement); uIElement = (dependencyObject as UIElement); if (uIElement == null) { UIElement3D uIElement3D = dependencyObject as UIElement3D; if (uIElement3D != null) { uIElement = UIElementHelper.GetContainingUIElement2D(uIElement3D); } } } else { UIElement3D uIElement3D2 = o as UIElement3D; if (uIElement3D2 != null) { uIElement = UIElementHelper.GetContainingUIElement2D(uIElement3D2); } } } return(uIElement); }
/// <summary> /// Returns the UIElement target /// </summary> private static UIElement GetTarget(DependencyObject o) { UIElement uie = o as UIElement; if (uie == null) { ContentElement ce = o as ContentElement; if (ce != null) { DependencyObject ceParent = FindContentElementParent(ce); // attempt to cast to a UIElement uie = ceParent as UIElement; if (uie == null) { // target can't be a UIElement3D - so get the nearest containing UIElement UIElement3D uie3D = ceParent as UIElement3D; if (uie3D != null) { uie = UIElementHelper.GetContainingUIElement2D(uie3D); } } } else { // it wasn't a UIElement or ContentElement, try one last cast to UIElement3D // target can't be a UIElement3D - so get the nearest containing UIElement UIElement3D uie3D = o as UIElement3D; if (uie3D != null) { uie = UIElementHelper.GetContainingUIElement2D(uie3D); } } } return(uie); }