我正在开发一个 Windows 商店应用程序。在我的页面中,我有一个 RichText块(而不是 WPF 中的 RichText框)。
我想订阅该PointerPressed
活动。在我的构造函数中,我有以下内容
rtb.PointerPressed += RtbOnPointerPressed;
rtb.PointerReleased += RtbOnPointerReleased;
我的问题是这些事件永远不会被触发。
如果我在我的 RichTextBlock 顶部放置一个网格(我的代码中为TopGrid),我可以捕获 pointerPressed 事件。但是,我不能再在我的 RichTextBlock 中选择文本。
如果我尝试pointerPressed
在容器级别捕获事件(下面代码中的Container),如果我按下边距而不是在我选择文本时,它就会起作用。
<Grid x:Name="Container">//at this level, pointerPressed is raised
//only when I click outside the richtextblock
<RichTextBlock x:Name="rtb"></RichTextBlock>//PointerPressed is never fired
<Grid Background="Transparent" x:Name="TopGrid"></Grid>//If present,
//the selection does not work on RichTextBlock"
//but I can capture the pointerPressed event
</Grid>
这里有谁知道选择文本时如何知道指针位置?