Beispiel #1
0
        private void Show(IntPtr owner)
        {
            if (InputManager.Current.IsInMenuMode)
            {
                return;
            }

            if (_hintWindow != null)
            {
                throw new NotSupportedException("Hint already shown");
            }

            // subclass
            _hintSource           = new HintSource();
            _hintSource.Activate += Close;
            _hintSource.SubClass(owner);

            // create hint window
            var ht = HintRoot.Create(PlacementRect, _hintSource);

            _hintWindow = new HintWindow(this, ht)
            {
                Text = _text
            };
            _hintSource.HintWindow = _hintWindow;
            //new WindowInteropHelper(_hintWindow) { Owner = _hintSource.Owner };
            _hintWindow.Closed   += HintWindowClosed;
            _hintWindow.MaxHeight = 1200.0;            //System.Windows.Forms.Screen.FromRectangle(PlacementRect).WorkingArea.
            _wrapWidth            = 1200.0;

            _hintWindow.WrapWidth = _wrapWidth;
            _hintWindow.Show();
        }
Beispiel #2
0
        public HintWindow(Hint hint, HintRoot root)
        {
            InitializeComponent();

            this._hint    = hint;
            _hintRoot     = root;

            // window props
            Left          = 0;
            Top           = 0;
            MaxHeight     = 1200;
            SizeToContent = SizeToContent.WidthAndHeight;
            Opacity       = 1;

            _timer.Tick          += OnTimerTick;
            LayoutUpdated        += OnLayoutUpdated;
            MouseLeave           += OnMouseLeave;
            _hintRoot.MouseLeave += RestartCloseTimer;
            MouseRightButtonUp   += MouseButtonEventHandler;

            HintControl.AddClickHandler(this, OnClick);
            HintControl.AddMouseHoverHandler(this, OnMouseHover);
        }
Beispiel #3
0
        public HintWindow(Hint hint, HintRoot root)
        {
            InitializeComponent();

            this._hint = hint;
            _hintRoot  = root;

            // window props
            Left          = 0;
            Top           = 0;
            MaxHeight     = 1200;
            SizeToContent = SizeToContent.WidthAndHeight;
            Opacity       = 1;

            _timer.Tick          += OnTimerTick;
            LayoutUpdated        += OnLayoutUpdated;
            MouseLeave           += OnMouseLeave;
            _hintRoot.MouseLeave += RestartCloseTimer;
            MouseRightButtonUp   += MouseButtonEventHandler;

            HintControl.AddClickHandler(this, OnClick);
            HintControl.AddMouseHoverHandler(this, OnMouseHover);
        }
Beispiel #4
0
        private void ShowSubHint(FrameworkElement el, string hintText)
        {
            var ht = HintRoot.Create(el);

            foreach (HintWindow window in OwnedWindows)
            {
                if (!window._hintRoot.Equals(ht))
                {
                    window.Close();
                    continue;
                }

                ht.Dispose();
                return;
            }

            var wnd = new HintWindow(_hint, ht)
            {
                Text = hintText, Owner = this
            };

            wnd.Show();
        }