XAML 标签TapGesture不会触发Xamarin表单

kuuvgm7e  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(93)

我想把TapGestureRecognizer加到Label上。

SliderAbout.GestureRecognizers.Add(new TapGestureRecognizer
 {
     Command = new Command(() => OpenAboutAppAsync()),
 });

字符串
SliderAbout是我的Label,它在Xaml中设置并正常工作。

<ScrollView Grid.Row="1">
                <Grid VerticalOptions="Start" HorizontalOptions="Start" Margin="20,20,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="60"/>
                    </Grid.RowDefinitions>

                    <Label x:Name="SliderAbout" 
                           Text="Über die APP" 
                           Grid.Row="2"  
                           TextColor="White" 
                           FontFamily="Open Sans Light" 
                           FontSize="Medium"/>    
                </Grid>
            </ScrollView>


代码也会运行(我把它放在类构造函数中)

但是当我点击标签时,方法不会触发...为什么它不会触发?

p8ekf7hl

p8ekf7hl1#

如果你使用mvvm方法,你可以直接将手势识别器添加到xaml和后面代码中的动作或视图模型中。在你的例子中,它会是这样的:

<Label x:Name="SliderAbout" Text="Über die APP" Grid.Row="2"  TextColor="White" FontFamily="Open Sans Light" FontSize="Medium">
    <Label.GestureRecognizers>
        <TapGestureRecognizer Tapped="OnLabelTapped" />
    </Label.GestureRecognizers>
</Label>

字符串
在后面的代码中

private void OnLabelTapped (object sender, EventArgs e)
{
    //Your code here
}

相关问题