我正在尝试为用户提供在richeditbox中输入文本时更改字体大小的选项。 我有以下代码:
void textBox_GotFocus(object sender, RoutedEventArgs e)
{
RichEditBox textBox = sender as RichEditBox;
ITextSelection selectedText = currentTextBox.Document.Selection;
if (selectedText != null)
{
ITextCharacterFormat charFormatting = selectedText.CharacterFormat;
charFormatting.Size = (float)textBoxFontSize;
selectedText.CharacterFormat = charFormatting;
}
}
如果我将输入设备用作鼠标和键盘,则在正常工作时调用此代码。 如果我使用触摸屏并将调试点放在上述功能中,此代码也可以使用。
但是如果我使用触摸屏作为输入设备并且代码中没有断点,那么fontsize会自动变为10.5并且永远不会改变。
我看到其他人面临类似的问题:
答案 0 :(得分:0)
感谢DJ KRAZE 问题彻底解决了。 以下是对鼠标键盘和触摸交互作出响应的解决方案:
string currentTextBoxText = null;
textBox.Document.GetText(TextGetOptions.None, out currentTextBoxText);
int textLength = currentTextBoxText.Length - 1;
currentTextBox.Document.GetRange(textLength, int.MaxValue).CharacterFormat.Size = (float)textBoxFontSize;