C# 在ListView的itemTapped事件上删除或添加ListView中的项
我有一个列表视图,它的数据源是ObservableCollection,如下所示C# 在ListView的itemTapped事件上删除或添加ListView中的项,c#,listview,observablecollection,C#,Listview,Observablecollection,我有一个列表视图,它的数据源是ObservableCollection,如下所示 ObservableCollection<empList_Model> diselectEmpModel = new ObservableCollection<empList_Model>(); ObservableCollection<empList_Model> selectEmpModel = new ObservableCollection<em
ObservableCollection<empList_Model> diselectEmpModel = new ObservableCollection<empList_Model>();
ObservableCollection<empList_Model> selectEmpModel = new ObservableCollection<empList_Model>();
for (int i = 0; i < 10; i++)
selectEmpModel.Add (new empList_Model{ empName = "Employee " + i.ToString (), id = i.ToString () });
selectEmpModel.Add (new empList_Model{ empName = "Select All ", id = "All" });
listof_selectEmployee.ItemsSource = selectEmpModel;
public void itemSelectedof_selectEmployeeList(object sender, SelectedItemChangedEventArgs e)
{
var listview = sender as ListView;
var itemFor_AddingRemoving = listview.BindingContext as empList_Model;
selectEmpModel.Remove(itemFor_AddingRemoving);
listof_selectEmployee.ItemsSource = selectEmpModel;
diselectEmpModel.Add (itemFor_AddingRemoving);
listof_diselectEmployee.ItemsSource = diselectEmpModel;
}
public class empList_Model
{
public string empName{ get; set;}
public int Selected{ get; set;}
public string id{ get; set;}
}
ObservableCollection diselectEmpModel=新的ObservableCollection();
ObservableCollection selectEmpModel=新的ObservableCollection();
对于(int i=0;i<10;i++)
选择empmodel.Add(newemplist_Model{empName=“Employee”+i.ToString(),id=i.ToString()});
选择empmodel.Add(newemplist_Model{empName=“Select All”,id=“All”});
_selectEmployee.itemsource=selectEmpModel的列表;
公共无效项Selectedof_selectEmployeeList(对象发件人,SelectedItemChangedEventArgs e)
{
var listview=发送方作为listview;
var itemFor_AddingRemoving=listview.BindingContext作为empList_模型;
选择empmodel.Remove(用于添加移除的项);
_selectEmployee.itemsource=selectEmpModel的列表;
取消选择empmodel.Add(itemFor_AddingRemoving);
listof_diselectEmployee.ItemsSource=diselectEmpModel;
}
公共类empList\u模型
{
公共字符串empName{get;set;}
选定的公共int{get;set;}
公共字符串id{get;set;}
}
Xaml:
<ListView Grid.Column="0" Grid.Row="1" x:Name="listof_selectEmployee" ItemSelected="itemSelectedof_selectEmployeeList" BackgroundColor="Gray" RowHeight="40" SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="20">
<Label Text="{Binding empName}" VerticalOptions="CenterAndExpand" TextColor="{x:Static color:ColorResources.listTextColor}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<ListView Grid.Column="1" Grid.Row="1" x:Name="listof_diselectEmployee" ItemSelected="itemSelectedof_diselectEmployeeList" BackgroundColor="Silver" RowHeight="40" SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="20">
<Label Text="{Binding empName}" VerticalOptions="CenterAndExpand" TextColor="{x:Static color:ColorResources.listTextColor}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
因此,我有上面的两个列表视图,我希望当用户单击第一个列表视图的任何项目时(itemSelectedof_selectEmployeeList()事件),从第一个列表中删除一个项目并将其添加到第二个列表视图。出于某种原因,当我点击ListView的任何一项时,什么都没有发生。项目不会从第一个列表中删除,也不会添加到第二个列表中。我不知道我错过了什么