namespace Yw.WpfUI.Hydro { /// /// 抽象覆盖透明度辅助类 /// internal class LogicalOverrideOpacityHelper { private readonly Dictionary _cache = new(); /// /// 获取透明度 /// public double GetOpacity(VisualL3d visual) { if (visual == null) { return 1d; } if (!_cache.ContainsKey(visual)) { return 1d; } return _cache[visual]; } /// /// 设置透明度 /// public void SetOpacity(VisualL3d visual, double opacity) { _cache[visual] = opacity; } /// /// 设置透明度 /// public void SetOpacity(List visuals, double opacity) { visuals?.ForEach(x => _cache[x] = opacity); } /// /// 清理透明度 /// public void ClearOpacity(VisualL3d visual) { if (!_cache.ContainsKey(visual)) { return; } _cache.Remove(visual); } /// /// 清理透明度 /// public void ClearOpacity(List visuals) { visuals?.ForEach(x => ClearOpacity(x)); } } }