Причина, по которой я вижу, состоит в том, что они конфликтуют друг с другом, вам нужно добавить распознаватели жестов только в одном месте, и этого должно быть более чем достаточно.
Я предпочитаю использовать XAML, чтобы мне не приходилось создавать частные переменные без всякой причины, например, "x: Name"
Так что вы делаете просто
Еслиниже ваше изображение
<Image TranslationY="-20" Source="ic_daily_reading_icon_xx.png" WidthRequest="30" HeightRequest="30" Grid.Column="0">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="DailyReading"
NumberOfTapsRequired="1">
</TapGestureRecognizer>
</Image.GestureRecognizers>
</Image>
и ваш ярлык:
<StackLayout Grid.Column="0" HorizontalOptions="FillAndExpand" Orientation="Vertical" HeightRequest="40" BackgroundColor="#F0BB1D" Margin="-10">
<Label x:Name="daily_reading_label" Text="Daily Readings" TextColor="White" FontSize="15" HorizontalOptions="CenterAndExpand" VerticalOptions="EndAndExpand"/>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer
Tapped="DailyReading"
NumberOfTapsRequired="1">
</TapGestureRecognizer>
</StackLayout.GestureRecognizers>
</StackLayout>
Ваш метод DailyReading будет выглядеть так:
private void DailyReading(object sender, EventArgs e)
{
Navigation.PushModalAsync(new Views.DailyReadingPage());
}
Убедитесь, что у вас есть только одинраспознаватель жестов во избежание конфликтов