public bool Contains(IPageContainerClient clientPage)
 {
     lock (this.m_pages)
     {
         return(this.m_pages.ContainsValue(clientPage));
     }
 }
        public void Remove(IPageContainerClient clientPage)
        {
            if (DeVesValidator.IsNullState(clientPage))
            {
                return;
            }

            lock (this.m_pages)
            {
                if (!this.m_pages.ContainsValue(clientPage))
                {
                    return;
                }

                var _pairs = this.m_pages.Where(p => Equals(p.Value, clientPage)).ToArray();

                if (!_pairs.Any())
                {
                    return;
                }

                foreach (var _pair in _pairs)
                {
                    this.m_pages.Remove(_pair.Key);
                }
            }
        }
        public void Set(string key, IPageContainerClient clientPage)
        {
            // ReSharper disable once SuspiciousTypeConversion.Global
            var _page = clientPage as Page;

            if (_page == null)
            {
                throw new Exception("'clientPage' is not based from 'System.Windows.Controls.Page'");
            }

            lock (this.m_pages)
            {
                this.m_pages[key] = clientPage;

                _page.Width  = this.ViewFrame.Width;
                _page.Height = this.ViewFrame.Height;
            }
        }