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