gpt4 book ai didi

c# - Xamarin中是否有可以处理触摸事件的容器

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:37 25 4
gpt4 key购买 nike

我正在使用 Xamarin Forms,我想在容器内添加三个具有三种不同颜色的标签,以便在按下容器时调用事件处理程序。

最佳答案

为此,您可以使用手势。Xamarin.Forms 中提供了几个默认识别器,包括 TapGestureRecognizer

您几乎可以将它们添加到任何视觉元素中。看一下绑定(bind)到 Image 的简单实现。

var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += (s, e) => {
// handle the tap
};
image.GestureRecognizers.Add(tapGestureRecognizer);

或者在 XAML 中:

<Image Source="tapped.jpg">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="OnTapGestureRecognizerTapped"
NumberOfTapsRequired="2" />
</Image.GestureRecognizers>
</Image>

如您所见,您还可以设置 NumberOfTapsRequired 以在执行操作之前启用更多点击。您也可以使用 Commands

其他手势是PinchPan可以找到有关 Tap 的文档 here .

在您具体询问的示例中,请尝试这样的操作:

<StackLayout>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="handle" />
</StackLayout.GestureRecognizers>

<Label x:Name="myLabel" Text="Open Search" FontSize="30" TextColor="Blue" />
<Label x:Name="myLabel2" Text="URL" FontSize="30" TextColor="Green" />
</StackLayout>

这会处理整个组的手势。如果您想要每个 Label,请执行以下操作:

<Label x:Name="myLabel2" Text="URL" FontSize="30" TextColor="Green">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="handle" />
</Label.GestureRecognizers>
</Label>

关于c# - Xamarin中是否有可以处理触摸事件的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38565658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com