(я спросил на форумах Xamarin, но не получил ответа, поэтому я пробую здесь)
В Xamarin Forms установка BackgroundColor
в ListView ItemTemplate
приводит к отключению гапловой обратной связи.
Есть ли способ обойти это? Я хотел бы настроить цвета моих элементов списка, но отсутствие тактильной обратной связи выглядит как мусор.
Пример XAML:
<ListView x:Name="list"
ItemTapped="OnItemSelected"
IsGroupingEnabled="True"
GroupDisplayBinding="{Binding Key}"
GroupShortNameBinding="{Binding Key}"
HasUnevenRows="True"
ItemsSource="{Binding .}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout VerticalOptions="FillAndExpand"
Padding="5, 20"
BackgroundColor="#CCCCCC"> <!--This line causes haptic feedback to fail -->
<Label Text="{Binding Name}"
TextColor="Black"
VerticalOptions="Center"
FontSize="Large"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Самое близкое, что я получил, это изменить BackgroundColor
в ViewCell.Tapped
, а затем вернуть его обратно в View.OnAppearing()
(ViewCell.Appearing
), но это изменит фон, когда палец поднят, а не когда он нажал.
Я тестирую Android, но предпочитаю кросс-платформенное решение.