Example #1
0
        /// <summary>
        /// 移除所有选中绘制对象;将自动呈递事务;
        /// </summary>
        public static void RemoveSelectedDrawObjects(this ICanvasDataContext canvasDataContext)
        {
            if (canvasDataContext == null)
            {
                throw new ArgumentNullException(nameof(canvasDataContext));
            }

            //处于编辑状态时不能进行删除;
            if (canvasDataContext.CurrentEditTool != null)
            {
                return;
            }

            //选定画布中所有的选中的绘制对象为即将移除的对象;
            var allDrawObjectsToBeRemoved = CanvasService.CanvasDataContext?.GetAllVisibleDrawObjects().Where(p => p.IsSelected).ToList();

            if (allDrawObjectsToBeRemoved == null || allDrawObjectsToBeRemoved.Count == 0)
            {
                return;
            }

            canvasDataContext.RemoveDrawObjects(allDrawObjectsToBeRemoved);
        }