namespace Yw.WpfUI.Hydro { /// /// 抽象覆盖可见性辅助类 /// internal class LogicalOverrideVisibleHelper { //缓存 private readonly Dictionary _cache = new(); /// /// 获取可见性 /// public bool GetVisible(VisualL3d visual) { if (visual == null) { return true; } if (!_cache.ContainsKey(visual)) { return true; } return _cache[visual]; } /// /// 设置可见性 /// public void SetVisible(VisualL3d visual, bool Visible) { _cache[visual] = Visible; } /// /// 设置可见性 /// public void SetVisible(List visuals, bool Visible) { visuals?.ForEach(x => _cache[x] = Visible); } /// /// 清理可见性 /// public void ClearVisible(VisualL3d visual) { if (!_cache.ContainsKey(visual)) { return; } _cache.Remove(visual); } /// /// 清理可见性 /// public void ClearVisible(List visuals) { visuals?.ForEach(x => ClearVisible(x)); } } }