我正在开发Windows应用商店。使用语音合成器将文本块文本转换为语音。要求是根据语音合成输出的高亮文本。我在改变文字颜色时遇到问题。只需检查以下代码行即可更改颜色。
CODE:
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中获取标记。 谁能帮我??任何帮助表示赞赏。提前谢谢。
答案 0 :(得分:0)
在ui元素聚焦之前,选择仍然不可见。
所以尝试在txtContent.Select()之后调用txtContent.Focus()。