我正在开发一个 xamarin 项目,您可以在其中切换列表视图中的每个对象以显示更多信息。所以切换一直有效,直到我尝试在 Id 号之后对列表进行排序。有人有解决此类问题的方法吗?
切换代码:
public void ListView_ItemTapped(object sender,ItemTappedEventArgs e)
{
var vm = BindingContext as OrderViewModel;
var order = e.Item as Order;
vm.HideOrShowOrder(order);
}
//HideorshowOrder method code:
public void HideOrShowOrder(Order order)
{
order.isVisible = true;
UpdateOrder(order);
if (_oldOrder == order)
{
order.isVisible = !order.isVisible;
UpdateOrder(order);
}
else
{
if (_oldOrder != null)
{
_oldOrder.isVisible = false;
UpdateOrder(_oldOrder);
}
order.isVisible = true;
UpdateOrder(order);
}
_oldOrder = order;
}
//And the code for sorting the list:
public void sortedList()
{
var sortedList = App.Order.OrderList.OrderBy(i => i.Id).Reverse().ToList();
orderViewList.ItemsSource = sortedList;
}
orderViewList 是 XAML 文件中的 listView 名称。所以没有调用 hideOrShow 方法,我不知道为什么?