2017-11-28 9 views
0

私はxamarinフォームアプリケーションを作成しています。私は、カスタムセル(XAML)とリストビューを持っている:XamarinはContextActionsとGestureRecognizerでAndroidリストビューの問題を解決しました

<ViewCell> 
    <ViewCell.ContextActions> 
     <MenuItem Clicked="Btn_delete_Clicked" CommandParameter="{Binding .}" Text="Удалить" IsDestructive="True" /> 
      </ViewCell.ContextActions> 
       <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*" /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto" /> 
          <RowDefinition Height="Auto" /> 
         </Grid.RowDefinitions> 
          <Image Source="{Binding Image}" Grid.Row="0" Grid.Column="0" Margin="5" VerticalOptions="Center" 
            HorizontalOptions="Center" Aspect="AspectFit" WidthRequest="170" HeightRequest="170" > 
           <Image.GestureRecognizers> 
            <TapGestureRecognizer Tapped="Btn_fullscr_Clicked" /> 
           </Image.GestureRecognizers> 
          </Image> 

          <Entry x:Name="EditTextPhoto" Placeholder="[Комментарий отсутствует]" Grid.Row="1" Grid.Column="0" 
            Margin="5" VerticalOptions="FillAndExpand" HorizontalOptions="Fill" FontSize="14" 
            Text="{Binding Comment}" BackgroundColor="#44104e8b" IsEnabled="{Binding IsPreview}" TextColor="Black" HorizontalTextAlignment="Center" /> 
         </Grid> 
        </ViewCell> 

あなたが見ることができるように、私はContextActionsと私のイメージのためのTapGestureRecognizerを持っています。 アンドロイドにバグがあります。ビューセルをクリックすると、コンテキストアクションが表示されます。 ContextActionはあなたが知っているように長いプレスでのみ行われなければなりません。しかし、私がImageからジェスチャー認識ツールを削除すると、すべて正常に動作します。 誰かがこの問題を回避する方法を知っていますか?前もって感謝します。

+0

[Xamarin.form(PCL)](https://stackoverflow.com/questions/47546002/xamarin-forms-how-to-add-image-list-inside-listview)NativeListViewレンダラーを使用する –

答えて

0

最後に、この問題の回避策を見つけました。私は、私の画像があり、削除されたtapgesturerecognizerと同じ行に透明なボタンを追加しました。したがって、最終的なコードは次のとおりです。

<ViewCell> 
    <ViewCell.ContextActions> 
     <MenuItem Clicked="Btn_delete_Clicked" CommandParameter="{Binding .}" Text="Удалить" IsDestructive="True" /> 
    </ViewCell.ContextActions> 
     <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" /> 
        <RowDefinition Height="Auto" /> 
       </Grid.RowDefinitions> 
       <Image Source="{Binding Image}" Grid.Row="0" Grid.Column="0" Margin="5" VerticalOptions="Center" 
            HorizontalOptions="Center" Aspect="AspectFit" WidthRequest="170"> 
       </Image> 
       <Button Grid.Row="0" Grid.Column="0" HorizontalOptions="Center" Clicked="Btn_fullscr_Clicked" 
            WidthRequest="170" VerticalOptions="FillAndExpand" BackgroundColor="Transparent" BorderColor="Transparent" /> 
       <Entry x:Name="EditTextPhoto" Placeholder="[Комментарий отсутствует]" Grid.Row="1" Grid.Column="0" 
            Margin="5" VerticalOptions="FillAndExpand" HorizontalOptions="Fill" FontSize="14" 
            Text="{Binding Comment}" IsEnabled="{Binding IsPreview}" TextColor="Black" HorizontalTextAlignment="Center" /> 
     </Grid> 
    </ViewCell> 

将来的に誰かを助けることを願ってください!

関連する問題