public static Task GetTask(UIElement adorner) { if (adorner == null) { throw new ArgumentNullException("adorner"); } return(AdornerProperties.GetTask((DependencyObject)adorner)); }
private IEnumerable <Task> GetTaskRoute(Task sourceTask, DependencyObject sourceAdorner, DependencyObject targetAdorner) { if (this._focusedTask != null) { yield return(this._focusedTask); } else { Task task = sourceTask; if (task != null) { yield return(task); } if (sourceAdorner != null) { task = AdornerProperties.GetTask(sourceAdorner); if (task != null && task != sourceTask) { yield return(task); } } if (targetAdorner != null && targetAdorner != sourceAdorner) { Task previousTask = task; task = AdornerProperties.GetTask(targetAdorner); if (task != null && task != previousTask && task != sourceTask) { yield return(task); } } if (this._tasks != null) { foreach (Task task1 in this._tasks) { yield return(task1); } } } }