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(); }
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); }
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(); }