XAML 是否可以在Net MAUI中检测到刷卡发生的位置?

f5emj3cl  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(161)

我正在编写一个.Net MAUI应用程序,并使用SwipeGestureRecognizer。这一切都运行得很好。但我似乎可以找到的是,如果你能检测到滑动发生的位置。
.xaml格式

<Grid x:Name="myGrid" >
    <Grid.GestureRecognizers>
        <SwipeGestureRecognizer  Direction="Right" Swiped="SwipeGestureRecognizer_Swiped" />
    </Grid.GestureRecognizers>
   ...

.xaml.cs

private void SwipeGestureRecognizer_Swiped(object sender, SwipedEventArgs e)
{
    ...
}

但我特别想检测您是否从边缘滑动,主要是为了在边缘显示弹出菜单。我在事件参数(Swiped事件的)中看不到任何可以用来检测滑动发生位置的内容。
考虑所附的图像。我如何区分(或检测)完全在屏幕上滑动动作(绿色)和屏幕外滑动动作(红色)之间的区别。一些位置参数是完美的,但它们似乎并不存在。
我在MAUI文档中没有看到任何内容表明这是可能的
请问有没有人知道有什么办法可以做到这一点?
谢谢你?

ppcbkaq5

ppcbkaq51#

这不是一个优雅的解决方案,但您可以在左侧放置一个不可见的BoxView

<Grid>
        <BoxView
            HorizontalOptions="Start"
            VerticalOptions="Center"
            WidthRequest="40"
            Color="Transparent">
            <BoxView.GestureRecognizers>
                <SwipeGestureRecognizer
                    Direction="Right"
                    Swiped="SwipeGestureRecognizer_Swiped"
                    Threshold="25" />
            </BoxView.GestureRecognizers>
        </BoxView>

        <!-- your content -->
        <VerticalStackLayout Margin="15,0,0,0">
            <Button />
            <Label Text="label" />
        </VerticalStackLayout>
</Grid>

我已经降低了Threshold的值,因为可滑动的距离很小。

相关问题