From c5c38984b02238230a9bc03a9b777e29bae6c023 Mon Sep 17 00:00:00 2001 From: "J. Smith" Date: Thu, 10 Aug 2017 13:10:21 -0500 Subject: [PATCH] Modify RichTextBoxFormatBarManager.cs to fix #1165 Addresses #1165 In my testing, this appears to solve this problem and does not interfere with or alter normal behavior. I tried to keep code formatting consistent with original code. --- .../RichTextBoxFormatBarManager.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs index 5b8a9752..53a6c0f0 100644 --- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs +++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs @@ -210,13 +210,25 @@ namespace Xceed.Wpf.Toolkit //top if( top < 0 ) { - top = mousePosition.Y + 10; + top = Math.Max( mousePosition.Y + 10, 5 ); + } + + // bottom + if ( top + adorningEditor.ActualHeight > _richTextBox.ActualHeight - 20 ) + { + top = _richTextBox.ActualHeight - adorningEditor.ActualHeight - 20; + } + + // left boundary + if ( left < 0 ) + { + left = 5; } //right boundary if( left + adorningEditor.ActualWidth > _richTextBox.ActualWidth - 20 ) { - left = left - ( adorningEditor.ActualWidth - ( _richTextBox.ActualWidth - left ) ); + left = _richTextBox.ActualWidth - adorningEditor.ActualWidth - 20; } _adorner.SetOffsets( left, top );