public void SetCommandVisibleState(ToolBarCommand cmd, string layName, bool visible)
        {
            if (cmd == null)
            {
                throw new ArgumentNullException();
            }
            if (!m_commandMstates.Contains(cmd))
            {
                throw new ArgumentException();
            }
            LayStates layStates = (LayStates)m_commandMstates[cmd];

            layStates.SetLayVisible(layName, visible);
            cmd.IsVisible = layStates.Visible;
        }
        public void AddCommand(ToolBarCommand cmd, string[] lays)
        {
            if (cmd == null)
            {
                throw new ArgumentNullException();
            }
            LayStates layStates = new LayStates();

            if (lays != null)
            {
                foreach (string lay in lays)
                {
                    layStates.AddLay(lay, true);
                }
            }
            m_commandMstates.Add(cmd, layStates);
        }