RichEditBox FontSize C#windows store app无响应

时间:2013-04-04 20:18:55

标签: c# windows-store-apps

我正在尝试为用户提供在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并且永远不会改变。

我看到其他人面临类似的问题:

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/771b6374-37da-4cdd-b68c-7b50b939b775

1 个答案:

答案 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;