The issue exist in the versions after Q1 2017 Workaround: Class MyTextBox Inherits RadTextBoxControl Protected Overrides Function CreateTextBoxElement() As RadTextBoxControlElement Return New MyTextBoxElement() End Function End Class Class MyTextBoxElement Inherits RadTextBoxControlElement Protected Overrides ReadOnly Property ThemeEffectiveType As Type Get Return GetType(RadTextBoxControlElement) End Get End Property Protected Overrides Function CreateViewElement() As TextBoxViewElement Return New MyWrapPanel End Function End Class Class MyWrapPanel Inherits TextBoxViewElement Protected Overrides Function InsertTextBlocks(index As Integer, text As String, blockType As Type) As Integer If String.IsNullOrEmpty(text) Then Return index End If Dim textBuilder As New StringBuilder() For i As Integer = 0 To text.Length - 1 Dim symbol As Char = text(i) If Char.IsWhiteSpace(symbol) OrElse symbol = TextBoxViewElement.TabSymbol OrElse symbol = TextBoxViewElement.LineFeedSymbol OrElse symbol = TextBoxViewElement.CarriageReturnSymbol Then If textBuilder.Length > 0 Then Dim textBlock As ITextBlock = Me.CreateBlock(textBuilder.ToString(), blockType) If index >= Me.Children.Count Then Me.Children.Add(TryCast(textBlock, RadElement)) index = Me.Children.Count - 1 textBlock.Index = index Else textBlock.Index = index Me.Children.Insert(index, TryCast(textBlock, RadElement)) End If textBuilder = New StringBuilder() index += 1 End If Dim tabBlock As ITextBlock = Me.CreateBlock(symbol.ToString(), blockType) tabBlock.Index = index Me.Children.Insert(index, TryCast(tabBlock, RadElement)) index += 1 Continue For End If textBuilder.Append(symbol) Next If textBuilder.Length > 0 Then Dim textBlock As ITextBlock = Me.CreateBlock(textBuilder.ToString(), blockType) textBlock.Index = index Me.Children.Insert(index, TryCast(textBlock, RadElement)) index += 1 End If Return index - 1 End Function End Class