RelativePanel Pointer压缩事件获胜';在UWP中不会被解雇吗?

RelativePanel Pointer压缩事件获胜';在UWP中不会被解雇吗?,uwp,uwp-xaml,Uwp,Uwp Xaml,我所拥有的是什么 XAML代码: <Canvas x:Name="grid" Width="500" Height="500"> <RelativePanel PointerPressed="RelativePanel_PointerPressed" Canvas.Left="100" Canvas.Top="100" Background=&quo

我所拥有的是什么

XAML代码:

<Canvas x:Name="grid" Width="500" Height="500">
     <RelativePanel PointerPressed="RelativePanel_PointerPressed" Canvas.Left="100" Canvas.Top="100" Background="Green" Height="100">
        <RichEditBox x:Name="box" Width="100" Height="32" ></RichEditBox>
        <Rectangle RelativePanel.AlignBottomWithPanel="True" RelativePanel.AlignBottomWith="box" Width="100" Height="10" Fill="Blue" Margin="0 15 0 20"></Rectangle>
    </RelativePanel>
</Canvas>
RichEditBox和rectangle是RelativePanel的子项

当我在矩形上单击时,RelativePanel的按指针的evnt已正确触发

但是,当我点击RichEditBox时,事件不会被触发。我想在任何地方触发事件,我点击相关面板。如何实现这一点

但是,当我点击RichEditBox时,事件不会被触发。我想在任何地方触发事件,我点击相关面板。如何实现这一点

您可以使用指定希望调用
PointerPressed
事件处理程序,即使事件被标记为已处理且第三个参数设置为
true
,如下所示:

box.AddHandler(RichEditBox.PointerReleasedEvent, new PointerEventHandler(RelativePanel_PointerPressed), true);
但是,您可能还注意到,声明“不要经常要求重新处理路由事件,因为它会干扰用于控件合成的Windows运行时事件系统的预期设计。”

除了上述方法之外,我们还可以使用
PointerCaptureLost
事件,当您单击
RichEditBox
控件以替换
PointerPressed
事件时,可以调用该事件。例如:

<Canvas x:Name="grid" Width="500" Height="500">
    <RelativePanel PointerPressed="RelativePanel_PointerPressed"
                   Canvas.Left="100" Canvas.Top="100" Background="Green" Height="100">
        <RichEditBox x:Name="box" Width="100" Height="32" PointerCaptureLost="RelativePanel_PointerCaptureLost"/>
        <Rectangle RelativePanel.AlignBottomWithPanel="True" RelativePanel.AlignBottomWith="box"
                   Width="100" Height="10" Fill="Blue" Margin="0 15 0 20"/>
    </RelativePanel>
</Canvas>


您的问题解决了吗?如果问题没有解决,请随时与我们联系。是的,问题已经解决。谢谢
<Canvas x:Name="grid" Width="500" Height="500">
    <RelativePanel PointerPressed="RelativePanel_PointerPressed"
                   Canvas.Left="100" Canvas.Top="100" Background="Green" Height="100">
        <RichEditBox x:Name="box" Width="100" Height="32" PointerCaptureLost="RelativePanel_PointerCaptureLost"/>
        <Rectangle RelativePanel.AlignBottomWithPanel="True" RelativePanel.AlignBottomWith="box"
                   Width="100" Height="10" Fill="Blue" Margin="0 15 0 20"/>
    </RelativePanel>
</Canvas>