Xamarin.forms Xamarin表单:如何从FlowListView中删除所选项目?
单击交叉图像时,我需要删除所选图片。为此,我在图像顶部添加了一个十字图像,并添加了点击事件。我正在FlowListView中显示图像 MainPage.xaml MainPage.xaml.csXamarin.forms Xamarin表单:如何从FlowListView中删除所选项目?,xamarin.forms,Xamarin.forms,单击交叉图像时,我需要删除所选图片。为此,我在图像顶部添加了一个十字图像,并添加了点击事件。我正在FlowListView中显示图像 MainPage.xaml MainPage.xaml.cs 任何人,请建议一种从FlowListview中删除该图像的方法?首先,让您的收藏成为可观察的收藏 最后,在你的RemoveImage中 创建一个ObservableCollection,并在接收这些图像时将图像添加到其中 像这样: protected override void OnAppearing(
任何人,请建议一种从FlowListview中删除该图像的方法?首先,让您的收藏成为可观察的收藏 最后,在你的RemoveImage中
创建一个ObservableCollection,并在接收这些图像时将图像添加到其中 像这样:
protected override void OnAppearing()
{
base.OnAppearing(); :)
MessagingCenter.Subscribe<App, List<string>>((App)Xamarin.Forms.Application.Current, "ImagesSelected", (s, images) =>
{
for (int i =0;i< images.Count;i++)
{
_images.Add(images[i]);
}
listItems.FlowItemsSource = _images;
});
}
用你的建议编辑了这个问题。现在,从库中选择的图片未显示在UI中。我正在使用flowlistview在UI中显示图像。flowlistview是ICollection,所以是否还有其他修改悬而未决?我正在做一个从Gallery中选择多个图像的功能。从库中选择图片后,我需要删除图片功能。你能帮帮我吗?
public partial class MainPage : ContentPage
{
ObservableCollection<string> _images = new ObservableCollection<string>();
//List<string> _images = new List<string>();
public MainPage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
//Change List and add ObservableCollection here
MessagingCenter.Subscribe<App, ObservableCollection<string>>((App)Xamarin.Forms.Application.Current, "ImagesSelected", (s, images) =>
{
listItems.FlowItemsSource = images;
_images = images;
});
}
protected override void OnDisappearing()
{
base.OnDisappearing();
MessagingCenter.Unsubscribe<App, List<string>>(this, "ImagesSelected");
}
public void RemoveImage(Object sender, EventArgs args)
{
var i = (Image)sender;
_images.Remove(i.ClassId);
}
}
}
ObservableCollection<string> _images = new ObservableCollection<string>();
<Image ClassID="{Binding .}" ... />
public void RemoveImage(Object sender, EventArgs args)
{
var i = (Image)sender;
images.Remove(i.ClassID);
}
protected override void OnAppearing()
{
base.OnAppearing(); :)
MessagingCenter.Subscribe<App, List<string>>((App)Xamarin.Forms.Application.Current, "ImagesSelected", (s, images) =>
{
for (int i =0;i< images.Count;i++)
{
_images.Add(images[i]);
}
listItems.FlowItemsSource = _images;
});
}
public void RemoveImage(Object sender, EventArgs args)
{
Image image = sender as Image;
string obj = image.BindingContext as string;
_images.Remove(obj);
}