Xamarin.Forms SwipeView Обработчик событий OnClick - PullRequest
0 голосов
/ 03 февраля 2020

Я экспериментирую с новыми элементами управления SwipeView в формах Xamarin 4.4 и изучаю пример FavFighters ( Код на Github ) и думаю, что он великолепен.

Я Я могу добавить жест Swipe вправо / влево, как я хотел, но я не могу узнать, как добавить событие OnClick к элементу в списке в проекте типа Master / Detail. Я надеялся использовать быстрые движения влево / вправо для ярлыков, но хочу, чтобы пользователь щелкнул по указанному элементу, чтобы углубиться в него.

Есть ли способ добавить OnClick (или onSelected) событие для элементов SwipeView?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Хотите ли вы добиться результата, подобного следующему GIF.

enter image description here

Если вы хотите добавить событие щелчка для вашего SwipeView. Вы просто добавляете GestureRecognizers в свой swipeView, как показано ниже:

        <SwipeView>
        <SwipeView.GestureRecognizers>
            <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
        </SwipeView.GestureRecognizers>

        <SwipeView.LeftItems>
            <SwipeItems>
                <SwipeItem Text="Favorite"

                   BackgroundColor="LightGreen"
                   Invoked="SwipeItem_Invoked" />
                <SwipeItem Text="Delete"

                   BackgroundColor="LightPink"
                   Invoked="SwipeItem_Invoked_1" />
            </SwipeItems>
        </SwipeView.LeftItems>
        <!-- Content -->

        <Grid HeightRequest="60"
         WidthRequest="300"
         BackgroundColor="LightGray">

            <Label Text="Swipe right"
           HorizontalOptions="Center"
           VerticalOptions="Center" />
        </Grid>
    </SwipeView>

В фоновом коде.

    private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
    {
        Navigation.PushModalAsync(new Page1());
    }
0 голосов
/ 03 февраля 2020

Да, вы можете определенно go с Xamarin.Forms.Effects, что позволяет вам реализовывать различные эффекты с нативными функциями. Вы можете сослаться на это: https://github.com/mrxten/XamEffects показывает, как получить эффект касания, эффект длительного касания, что будет полезно в вашем случае [вы можете сделать это даже без установки стороннего плагина].

...