private void HideMagicArrow() { Trace.WriteLine("MagicArrow: Hide"); IsMagicArrowVisible = false; _isInZone = false; _magicArrowCheckTimer.Stop(); if (_magicArrow != null && _magicArrow.IsLoaded) { _magicArrow.MouseLeave -= MagicArrowOnMouseLeave; _magicArrow.Close(); _magicArrow = null; } }
private void ShowMagicArrow(double top, Side side) { Trace.WriteLine("MagicArrow: Show"); IsMagicArrowVisible = true; _magicArrow = new MagicArrowWindow(top, side == Side.Left ? WpfScreen.MostLeftX : WpfScreen.MostRightX - 10, side); _magicArrow.Click += (s, e) => { MoveWindowBackInScreen(); _isInZone = false; HideMagicArrow(); }; _magicArrow.MouseLeave += MagicArrowOnMouseLeave; _magicArrow.Show(); _magicArrowCheckTimer.Start(); }