Как обрабатывать сенсорные события для FlexLayout в Xamarin - PullRequest
1 голос
/ 07 ноября 2019

Итак, я создаю приложение, в котором я должен показывать несколько продуктов, так как я хочу показать более одного продукта в одной строке, я не могу использовать ListView, поэтому я подумал об использовании FlexLayout в качестве Bindable-Layout ииспользуйте ItemsSource, чтобы отобразить мой список продуктов, что было успехом. Поэтому я хотел добавить сенсорное событие для каждого из моих продуктов, показанных на flexlayout, для этого я создал новое поведение, это ссылка на код, который я использовал:

https://gist.github.com/jtaubensee/96a5e49c66a205e36ff32787f1d2114d

, который сработал, и поэтому я могу использовать команду. моя проблема в том, что я хочу получить продукт, на который нажали, и не могу понять, как это сделатьесть кто-нибудь, кто может мне помочь с этим?

1 Ответ

1 голос
/ 08 ноября 2019

Если вы не против xaml, вот как я с этим справляюсь.

<FlexLayout BindableLayout.ItemsSource="{Binding Abilities}" IsVisible="{Binding HasAbilities}" BindableLayout.ItemTemplate="{DataTemplate attitm:AttachedAbility}"
                    AlignItems="Center" Wrap="Wrap" JustifyContent="Center"/>

, и шаблон реализует жест касания и передает объект в качестве параметра команды;

<ContentView.Content>
    <StackLayout Padding="20,8" HorizontalOptions="Center">
        <Frame BorderColor="{OnPlatform Android=DarkCyan, UWP=Accent}" Padding="4">
            <Frame.GestureRecognizers>
                <TapGestureRecognizer Command="{Binding DrillIntoCommand}" CommandParameter="{Binding}"/>
            </Frame.GestureRecognizers>
            <StackLayout HorizontalOptions="Center" Orientation="Horizontal">
                <Label x:Name="TitleLabel" Text="{Binding Title}" HorizontalOptions="Center" VerticalOptions="Center"/>
                <Label Text="&#xf12a;" FontFamily="{StaticResource FontAwesomeSolid}" IsVisible="{Binding IsUserCreated}" TextColor="Orange" HorizontalOptions="Center"/>
            </StackLayout>
        </Frame>
    </StackLayout>
</ContentView.Content>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...