private void WdgMgrReZOrderSelectionHandler(object parameter) { WDMgrZorderDragChangeInfo info = (WDMgrZorderDragChangeInfo)parameter; Guid pageID = info.PageID; ISelectionService selsrv = ServiceLocator.Current.GetInstance <ISelectionService>(); PageEditorViewModel page = selsrv.GetCurrentPage() as PageEditorViewModel; if (page != null && page.ActivePage.Guid == pageID) { page.WdgMgrReZOrderSelection(info.zIndex, info.widgetID); } }
public void ProcessDrapDropChangeZorder(WidgetListItem DragItem, WidgetListItem TargetItem) { WDMgrZorderDragChangeInfo info = new WDMgrZorderDragChangeInfo(); info.PageID = DragItem.ParentPage.Guid; info.widgetID = DragItem.WidgetID; if (TargetItem == null) { TargetItem = _rootItem; } if (TargetItem.OrderedChildren != null && TargetItem.OrderedChildren.Count > 0) { if (DragItem.ParentID.Equals(TargetItem.WidgetID)) { info.zIndex = TargetItem.OrderedChildren[0].zOrder + 1; } else if (DragItem.ParentID.Equals(TargetItem.ParentID)) { info.zIndex = GetMinZorder(TargetItem); } else { NLogger.Error("ProcessDrapDropChangeZorder->target item error!"); } } else { info.zIndex = TargetItem.zOrder; } System.Diagnostics.Debug.WriteLine(TargetItem.WidgetTypeName + "->" + info.zIndex.ToString()); _ListEventAggregator.GetEvent <WdgMgrOrderwidgetEvent>().Publish(info); }