public void Sorted(ListView listView, ParamForSort paramSort) { // ParamForSort paramSort = (ParamForSort)listView.SelectedItem; if (paramSort != null) { paramSort.IsCheck = true; } if (ParamSort.oldItem != null) { ParamSort.oldItem.IsCheck = false; } filterParam.paramForSort = paramSort; // ListView должен обновляться после изменения источника данных, но этого не происходит. Поэтому выход такой List <ParamForSort> tempList = new List <ParamForSort> (); foreach (ParamForSort item in ParamSort.ParamsList) { tempList.Add(new ParamForSort { Id = item.Id, FieldSort = item.FieldSort, Name = item.Name, IsDesc = item.IsDesc, IsCheck = item.Id == paramSort?.Id }); } listView.ItemsSource = tempList; ParamSort.ParamsList = tempList; }
void OnClickSort(object sender, ItemTappedEventArgs e) { ListView listView = sender as ListView; ParamForSort paramSort = (ParamForSort)listView.SelectedItem; Sorted(listView, paramSort); }
protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); ParamForSort entityBind = BindingContext as ParamForSort; if (entityBind != null) { img.IsVisible = entityBind.IsCheck; } }