#listview #xamarin
#listview #xamarin
Вопрос:
Как отключить мигающий listview в Xamarin при нажатии? Я пишу общий код (Android в порядке, но в iOS мигание присутствует). Это наблюдаемая коллекция. Одна строка listview состоит из: надписей, кнопок и изображений. Действие выполняется только нажатием кнопок.
ViewCell IsEnabled=false
— больше не мигает, но также отключает кнопкиListview SelectionMode=None
— не работаетListview SelectedItem="{Binding X}"
где X в исходном коде равно нулю — не работаетListview ItemTapped="{Binding Y}"
где Y в исходном коде равно нулю — не работает- в XAML повысьте значение listview на один уровень:
<Frame>
<Frame.GestureRecognizers>
TapGestureRecognizer Command="{Binding TapCardCommand}" CommandParameter="{Binding .}"
— где TapCardCommand ничего не выполняет — не работает
У вас есть какие-либо другие идеи, как это решить?
Ответ №1:
Вы можете создать CustomRenderer для ViewCell в вашем проекте iOS и задать стиль selectionStyle.
[assembly: ExportRenderer(typeof(ViewCell), typeof(MyViewCellRenderer))]
namespace xxx.iOS
{
public class MyViewCellRenderer:ViewCellRenderer
{
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
{
var cell=base.GetCell(item, reusableCell, tv);
cell.SelectionStyle = UITableViewCellSelectionStyle.None;
return cell;
}
}
}
Комментарии:
1. Это решение работает! Спасибо Лукасу Чжану. Мне просто нужно было добавить пустой общедоступный класс MyViewCell: ViewCell в проект PCL и добавить свой класс в проект iOS. Отлично работает.