private void Show() { if (InputManager.Current.IsInMenuMode) { return; } if (_hintWindow != null) { throw new NotSupportedException("Hint already shown"); } // subclass _hintSource = new HintSource(); _hintSource.Activate += Close; _hintSource.SubClass(); // create hint window var ht = HintRoot.Create(PlacementRect, _hintSource); _hintWindow = new HintWindow(this, ht) { Text = _text }; if (BackgroundResourceReference != null) { _hintWindow.border.SetResourceReference(Border.BackgroundProperty, BackgroundResourceReference); } if (ForegroundResourceReference != null) { _hintWindow._textBlock.SetResourceReference(TextBlock.ForegroundProperty, ForegroundResourceReference); } _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 static Window ShowSubHint(Hint hint, FrameworkElement el, string hintText, Window owner) { var ht = HintRoot.Create(el); if (owner != null) { foreach (HintWindow window in owner.OwnedWindows) { if (!window._hintRoot.Equals(ht)) { window.Close(); continue; } ht.Dispose(); return(null); } } var wnd = new HintWindow(hint, ht) { Text = hintText, Owner = owner }; if (hint.BackgroundResourceReference != null) { wnd.border.SetResourceReference(Border.BackgroundProperty, hint.BackgroundResourceReference); } if (hint.ForegroundResourceReference != null) { wnd._textBlock.SetResourceReference(TextBlock.ForegroundProperty, hint.ForegroundResourceReference); } wnd.Show(); return(wnd); }