清除 Xamarin Forms 中的选择
Clear a selection in Xamarin Forms
我正在尝试清除 Xamarin Forms 中的 selection,因为 ListView 不断填充我所有的 selection。
如何才能在我 select 编辑一个项目后,将 selection 传递到下一页并重置 selection?现在它转到下一页,然后一秒钟后刷新并清除页面。
这是 ProductPage.xaml.cs 他们 select 的产品。
async void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var item = (Product)e.SelectedItem;
await Navigation.PushAsync(new ProductDetailPage(item));
((ListView)sender).SelectedItem = null;
}
这是ProductDetailPage.xaml.cs
public ProductDetailPage(Product products)
{
InitializeComponent();
BindingContext = products;
MessagingCenter.Subscribe<ProductDetailPage>(this, "AddToCartProduct", (sender) =>
{
ShoppingCart.data.Add(products.title);
DisplayAlert("Added to Cart!", products.title, "OK");
});
}
这是我的 ViewShoppingCart.xaml.cs
public ViewShoppingCart()
{
InitializeComponent();
MyListView.ItemsSource = ShoppingCart.data;
}
您是否将 SelectedItem
的 BindingMode
设置为 TwoWay
?
<ListView
ItemsSource="{Binding CustomList}"
SelectedItem="{Binding CustomSelectedItemProperty, Mode=TwoWay}"
</ListView>
我正在尝试清除 Xamarin Forms 中的 selection,因为 ListView 不断填充我所有的 selection。
如何才能在我 select 编辑一个项目后,将 selection 传递到下一页并重置 selection?现在它转到下一页,然后一秒钟后刷新并清除页面。
这是 ProductPage.xaml.cs 他们 select 的产品。
async void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var item = (Product)e.SelectedItem;
await Navigation.PushAsync(new ProductDetailPage(item));
((ListView)sender).SelectedItem = null;
}
这是ProductDetailPage.xaml.cs
public ProductDetailPage(Product products)
{
InitializeComponent();
BindingContext = products;
MessagingCenter.Subscribe<ProductDetailPage>(this, "AddToCartProduct", (sender) =>
{
ShoppingCart.data.Add(products.title);
DisplayAlert("Added to Cart!", products.title, "OK");
});
}
这是我的 ViewShoppingCart.xaml.cs
public ViewShoppingCart()
{
InitializeComponent();
MyListView.ItemsSource = ShoppingCart.data;
}
您是否将 SelectedItem
的 BindingMode
设置为 TwoWay
?
<ListView
ItemsSource="{Binding CustomList}"
SelectedItem="{Binding CustomSelectedItemProperty, Mode=TwoWay}"
</ListView>