我添加了一个像这样的GestureRecognizer:
faveLabel.Text = "ABC";
faveLabel.BackgroundColor = Color.Red;
faveLabel.GestureRecognizers.Add(new TapGestureRecognizer
{
Command = new Command(() => OnLabelClicked())
});
}
private void OnLabelClicked()
{
throw new NotImplementedException();
}
这是XAML:
<StackLayout Grid.Row="0" Grid.Column="0" Padding="15,10,20,10" HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand">
<Label x:Name="faveLabel" XAlign="Center" FontSize="23" />
</StackLayout>
使用模拟器它几乎不会工作,当我确实让它工作时,似乎我不得不点击文本上方而不是文本。当我在手机上调试时,它可以正常工作。
是否存在模拟器无法正确响应的问题?
答案 0 :(得分:1)
我不知道有什么问题。除非我真的有别的东西导致它,否则我自己也没有看到任何奇怪的东西。您可以尝试为Label
提供明亮的背景颜色,以查看其实际位置。也许你的其他一些元素与它重叠,或者UI中的其他元素正在停止手势识别器。一个常见的例子是当你在ListView中放置一个自己的tap事件时可能与TapGestureRecognizer
冲突。