wenxiangchao
4 天以前 2e889843b4c171f2d6ad8e0d53084040703d11f6
HMI.UI/Util/MaskHolder.cs
@@ -1,43 +1,39 @@
using Panuon.WPF.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HMI.UI.Util
{
    public class MaskHolder
    {
        private static Dictionary<WindowX, List<object>> Container;
        private static Dictionary<object, WindowX> ReverseContainer;
    //public class MaskHolder
    //{
    //    private static Dictionary<WindowX, List<object>> Container;
    //    private static Dictionary<object, WindowX> ReverseContainer;
        public static void AddMask(WindowX window, object source)
        {
            if (Container.ContainsKey(window))
            {
                Container[window].Add(source);
            }
            else
            {
                Container[window] = new List<object> { source };
            }
            ReverseContainer.Add(source, window);
            window.IsMaskVisible = true;
        }
    //    public static void AddMask(WindowX window, object source)
    //    {
    //        if (Container.ContainsKey(window))
    //        {
    //            Container[window].Add(source);
    //        }
    //        else
    //        {
    //            Container[window] = new List<object> { source };
    //        }
    //        ReverseContainer.Add(source, window);
    //        window.IsMaskVisible = true;
    //    }
        public static void RemoveMask(object source)
        {
            if (!ReverseContainer.ContainsKey(source))
            {
                return;
            }
            WindowX win = ReverseContainer[source];
            if (!Container.ContainsKey(win) || Container[win] == null || Container[win].Count <= 0)
            {
                win.IsMaskVisible = false;
            }
            ReverseContainer.Remove(source);
        }
    }
    //    public static void RemoveMask(object source)
    //    {
    //        if (!ReverseContainer.ContainsKey(source))
    //        {
    //            return;
    //        }
    //        WindowX win = ReverseContainer[source];
    //        if (!Container.ContainsKey(win) || Container[win] == null || Container[win].Count <= 0)
    //        {
    //            win.IsMaskVisible = false;
    //        }
    //        ReverseContainer.Remove(source);
    //    }
    //}
}