Mis*_*s94 2 .net c# xamarin xamarin.forms
我正在使用 Xamarin Forms,我想在容器内添加三个具有三种不同颜色的标签,以便在按下容器时调用事件处理程序。
为此,您可以使用Gestures. Xamarin.Forms 中有几个默认识别器可用,包括TapGestureRecognizer.
您几乎可以将它们添加到任何视觉元素。看一下绑定到Image.
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += (s, e) => {
// handle the tap
};
image.GestureRecognizers.Add(tapGestureRecognizer);
Run Code Online (Sandbox Code Playgroud)
或者在 XAML 中:
<Image Source="tapped.jpg">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="OnTapGestureRecognizerTapped"
NumberOfTapsRequired="2" />
</Image.GestureRecognizers>
</Image>
Run Code Online (Sandbox Code Playgroud)
如您所见,您还可以设置NumberOfTapsRequired以在执行操作之前启用它以进行更多点击。您也可以改用Commands。
在您所要求的示例中,请专门尝试以下操作:
<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>
Run Code Online (Sandbox Code Playgroud)
这将处理整个组的手势。如果你想要它 per Label,请执行以下操作:
<Label x:Name="myLabel2" Text="URL" FontSize="30" TextColor="Green">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="handle" />
</Label.GestureRecognizers>
</Label>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |