/// <summary>
        /// Unregisters the context menu controler.
        /// </summary>
        /// <param name="xFrame">The x frame.</param>
        public void UnregisterContextMenuControler(XFrame xFrame)
        {
            var xController = xFrame.getController();

            if (xController != null)
            {
                var xContextMenuInterception = xController as XContextMenuInterception;
                if (xContextMenuInterception != null)
                {
                    xContextMenuInterception.releaseContextMenuInterceptor(this);
                    System.Diagnostics.Debug.WriteLine("ContextMenue " + this.GetType().Name + " unregisterd");
                }
            }
        }
        /// <summary>
        /// Unregisters the context menu controler.
        /// </summary>
        /// <param name="xFrame">The x frame.</param>
        public void UnregisterContextMenuControler(XFrame xFrame)
        {
            var xController = xFrame.getController();

            if (xController != null)
            {
                var xContextMenuInterception = xController as XContextMenuInterception;
                if (xContextMenuInterception != null)
                {
                    xContextMenuInterception.releaseContextMenuInterceptor(this);
                    System.Diagnostics.Debug.WriteLine("ContextMenue " + this.GetType().Name + " unregisterd");
                }
            }
        }
        /// <summary>
        /// Registers the context menu controler.
        /// </summary>
        /// <param name="xFrame">The x frame.</param>
        public void RegisterContextMenuControler(XFrame xFrame)
        {
            _xFrame = xFrame;
            var xController = _xFrame.getController();

            if (xController != null)
            {
                var xContextMenuInterception = xController as XContextMenuInterception;
                if (xContextMenuInterception != null)
                {
                    //var aContextMenuInterceptor = new AbstractContextMenuInterceptorBase();
                    //var xContextMenuInterceptor =
                    //    (XContextMenuInterceptor)aContextMenuInterceptor;
                    //xContextMenuInterception.registerContextMenuInterceptor(xContextMenuInterceptor);
                    xContextMenuInterception.registerContextMenuInterceptor(this);

                    System.Diagnostics.Debug.WriteLine("ContextMenue " + this.GetType().Name + " registerd");
                }
            }
        }
        /// <summary>
        /// Registers the context menu controler.
        /// </summary>
        /// <param name="xFrame">The x frame.</param>
        public void RegisterContextMenuControler(XFrame xFrame)
        {
            _xFrame = xFrame;
            var xController = _xFrame.getController();

            if (xController != null)
            {
                var xContextMenuInterception = xController as XContextMenuInterception;
                if (xContextMenuInterception != null)
                {
                    //var aContextMenuInterceptor = new AbstractContextMenuInterceptorBase();
                    //var xContextMenuInterceptor =
                    //    (XContextMenuInterceptor)aContextMenuInterceptor;
                    //xContextMenuInterception.registerContextMenuInterceptor(xContextMenuInterceptor);
                    xContextMenuInterception.registerContextMenuInterceptor(this);

                    System.Diagnostics.Debug.WriteLine("ContextMenue "+this.GetType().Name+" registerd");
                }
            }
        }