Xaml 更改选择突出显示文本块的前景

Xaml 更改选择突出显示文本块的前景,xaml,windows-runtime,winrt-xaml,windows-10,uwp,Xaml,Windows Runtime,Winrt Xaml,Windows 10,Uwp,首先,我的案例是UWP应用程序 TextBlock有一个名为SelectionHighlightColor的属性,允许您在选择文本时指定选择区域的具体颜色。就这样, XAML: 显示为: 如果您没有注意到,所选文本的前景始终是白色的,即使选择区域的背景是浅色的 那么,有没有办法改变TextBlock控件所选文本的前景 无法查看如何执行此操作,因为TextBlock没有模板,并且是密封类,因此无法扩展。它有一个SelectedText属性和SelectioChanged事件,但看不到任何可以

首先,我的案例是UWP应用程序

TextBlock
有一个名为
SelectionHighlightColor
的属性,允许您在选择文本时指定
选择区域的具体颜色。就这样,

XAML:


显示为:

如果您没有注意到,所选文本的前景始终是白色的,即使选择区域的背景是浅色的


那么,有没有办法改变
TextBlock
控件所选文本的前景

无法查看如何执行此操作,因为
TextBlock
没有模板,并且是密封类,因此无法扩展。它有一个
SelectedText
属性和
SelectioChanged
事件,但看不到任何可以更改的笔刷Silverlight中的TextBox类有一个SelectionForeground属性。。但是UWP TextBlock类似乎没有…而且RichTextBlock和RichEditBox都没有您想要实现的属性。。对于TextBlock,没有办法做到这一点……是的,最有可能的是,对于TextBlock,没有办法做到这一点。也许我需要为实现此效果的自定义控件编写代码,但这完全不值得。我想,使用1511版中的新合成API,您可以执行以下操作(只是胡乱猜测):-将高亮显示颜色设置为所需的反转值-获取textblock visual-枚举子对象以查找高亮框(我想应该有一个)-反转盒子的颜色,带有效果
<TextBlock Text="This is a sample text" IsTextSelectionEnabled="True" SelectionHighlightColor="#FFFFE751" Foreground="Black" />