C# 根据文本到语音合成输出突出显示文本

C# 根据文本到语音合成输出突出显示文本,c#,xaml,windows-phone-8,windows-phone-8.1,C#,Xaml,Windows Phone 8,Windows Phone 8.1,我正在开发windows应用商店应用程序。使用语音合成器将文本块文本转换为语音。要求根据语音合成输出高亮度文本。我在更改文本颜色时遇到问题。只需检查以下代码行即可更改颜色 代码: struct SelectionOffsets { internal int Start; internal int End; } private void highlightWord(int startIndex, int p) { try {


我正在开发windows应用商店应用程序。使用语音合成器将文本块文本转换为语音。要求根据语音合成输出高亮度文本。我在更改文本颜色时遇到问题。只需检查以下代码行即可更改颜色

代码:

    struct SelectionOffsets { internal int Start; internal int End; }
    private void highlightWord(int startIndex, int p)
    {
        try
        {
            var line = txtContent.Text;
            if (p > txtContent.Text.Length)
            {
                p = txtContent.Text.Length;
            }

            SelectionOffsets selectionOffsets;
            TextPointer contentStart = txtContent.ContentStart;
            txtContent.SelectionHighlightColor = new SolidColorBrush(Windows.UI.Colors.Green);
            txtContent.IsTextSelectionEnabled = true;
            // Find the offset for the starting and ending TextPointers.
            selectionOffsets.Start = startIndex;
            selectionOffsets.End = p;

            txtContent.Select(contentStart.GetPositionAtOffset(selectionOffsets.Start, LogicalDirection.Forward), contentStart.GetPositionAtOffset(selectionOffsets.End, LogicalDirection.Forward));
            var s = txtContent.SelectedText;
        }
        catch(Exception ex)
        {

        }
    }
但它并没有反映在GUI上。 我还尝试为文本框样式设置触发器,但无法在xaml中获取标记。
有人能帮我吗??感谢您的帮助。提前感谢。

在用户界面元素聚焦之前,所选内容保持不可见


因此,尝试在txtContent.Select()之后调用txtContent.Focus()。

该属性仅获取或设置用于高亮显示选定文本的画笔。。。它不选择任何文本。您应该使用来选择文本。我已经使用了它,只是没有将代码粘贴到这里。我直截了当地说,应用
selectionHighlightColor
不起作用。它对我来说效果很好,所以除非你能提供一些代码来说明你的问题,否则这个问题可能很快就会被社区解决。如果你只需调用
txtContent.Select(0,txtContent.Text.Length)怎么办?它给出相同的结果。及其
txtContent.Focus(FocusState值)