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

本文关键字:文本 输出 显示 语音 | 更新日期: 2023-09-27 18:14:41


我正在开发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中获取标记。有人能帮我吗??感谢您的帮助。提前谢谢。

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

在聚焦ui元素之前,选择保持不可见。

因此,请尝试在txtContent.Select((.之后调用txtContent-Focus((