/// <summary> /// Remove virtual appointment item from it's parent panel /// </summary> /// <param name="appointmentItem"></param> public void RemoveVirtualAppointmentItem(PlannerAppointmentItem appointmentItem) { if (appointmentItem == null) { return; } PlannerTimelinePanel panel = appointmentItem.Parent as PlannerTimelinePanel; if (panel != null) { panel.Children.Remove(appointmentItem); } }
/// <summary> /// Preview virtual appointment item on a virtual panel /// </summary> /// <param name="appointmentItem"></param> public void PreviewVirtualAppointmentItem(PlannerAppointmentItem appointmentItem) { PlannerEntity targetEntity = PlannerHelper.FindVisualChild <PlannerEntity>(this).Find(_ => VisualTreeHelper.HitTest(_, Mouse.GetPosition(_)) != null); if (targetEntity != null) { if (appointmentItem.Parent != null) { if (appointmentItem.Parent == targetEntity.GetVirtualPanel()) { return; } PlannerTimelinePanel currentPanel = appointmentItem.Parent as PlannerTimelinePanel; currentPanel.Children.Remove(appointmentItem); } PlannerTimelinePanel virtualPanel = targetEntity.GetVirtualPanel(); virtualPanel.Children.Add(appointmentItem); } }