From 531e3b2f09ebf2e6df44e6803e7fa06073ba2c3d Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期四, 08 五月 2025 15:15:42 +0800 Subject: [PATCH] 新增绘制状态,用于标识当前编辑控件的状态 --- Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs b/Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs index a90213e..56851e6 100644 --- a/Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs +++ b/Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs @@ -27,6 +27,10 @@ /// 宸ヤ綔闈㈡澘鏀瑰彉浜嬩欢 /// </summary> public event Action<WorkPanelL3d> WorkPanelChangedEvent; + /// <summary> + /// 缁樺埗鐘舵�佹敼鍙樹簨浠� + /// </summary> + public event Action<eDrawStatusL3d> DrawStatusChangedEvent; #endregion @@ -588,6 +592,63 @@ #endregion + #region 缁樺埗鐘舵�� + + /// <summary> + /// 缁樺埗鐘舵�� + /// </summary> + public eDrawStatusL3d DrawStatus + { + get { return _drawStatus; } + private set + { + if (_drawStatus != value) + { + _drawStatus = value; + OnDrawStatusChanged(); + } + } + } + private eDrawStatusL3d _drawStatus = eDrawStatusL3d.Normal; + + //缁樺埗鐘舵�佹仮澶嶆柟娉� + private Func<bool> _drawStatusReaction = null; + + /// <summary> + /// 娉ㄥ唽缁樺埗鐘舵�� + /// </summary> + public void RegistDrawStatus(eDrawStatusL3d drawStatus, Func<bool> reaction) + { + if (this.DrawStatus != drawStatus) + { + if (_drawStatusReaction != null) + { + if (_drawStatusReaction()) + { + ResetDrawStatus(); + } + } + } + this.DrawStatus = drawStatus; + _drawStatusReaction = reaction; + } + + /// <summary> + /// 閲嶇疆缁樺埗鐘舵�� + /// </summary> + public void ResetDrawStatus() + { + this.DrawStatus = eDrawStatusL3d.Normal; + } + + //澶勭悊缁樺埗鐘舵�佹敼鍙� + private void OnDrawStatusChanged() + { + this.DrawStatusChangedEvent?.Invoke(DrawStatus); + } + + #endregion + /// <summary> /// 閲婃斁 -- Gitblit v1.9.3