C# 如何从Windows Phone 8应用程序C的列表中删除项目#
当用户点击列表中的特定项目时,新页面将打开,在那里他可以看到特定项目的完整详细信息。如果他认为自己不想删除某一项,他可以删除该项。我的问题是文件没有从列表中删除C# 如何从Windows Phone 8应用程序C的列表中删除项目#,c#,windows-phone-8,C#,Windows Phone 8,当用户点击列表中的特定项目时,新页面将打开,在那里他可以看到特定项目的完整详细信息。如果他认为自己不想删除某一项,他可以删除该项。我的问题是文件没有从列表中删除 public partial class DetailsPage : PhoneApplicationPage { SavedData prkdata = new SavedData(); SavedDataList parkinglistobj = new SavedDataList(); IsolatedSt
public partial class DetailsPage : PhoneApplicationPage
{
SavedData prkdata = new SavedData();
SavedDataList parkinglistobj = new SavedDataList();
IsolatedStorageFile Settings = IsolatedStorageFile.GetUserStoreForApplication();
int index;
public DetailsPage()
{
InitializeComponent();
//this.Loaded += MainPage_Loaded;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string selectedIndex = "";
if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
{
index = int.Parse(selectedIndex);
try
{
parkinglistobj.Clear();
if (Settings.FileExists("CardItemList"))
{
using (IsolatedStorageFileStream fileStream = Settings.OpenFile("CardItemList", FileMode.Open))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(SavedDataList));
parkinglistobj = (SavedDataList)serializer.ReadObject(fileStream);
}
}
ParkListBox.ItemsSource = parkinglistobj.Where(i => i.ID == index).ToList();
//String itemselected = parkinglistobj.Where(i => i.ID == index).Select(i.CardName).ToString();
//MessageBox.Show(itemselected);
}
catch
{
//
}
}
}
private void DeleteFile(object sender, EventArgs e)
{
//ParkListBox.SelectedItem = parkinglistobj.Select(i => i.ID == index);
//SavedData item = ParkListBox.DataContext as SavedData;
SavedData item = parkinglistobj.Select(i => i.ID == index) as SavedData;
//SavedData item = ParkListBox.SelectedItem as SavedData;
parkinglistobj.Remove(item);
MessageBox.Show("Deleted Successfully");
}
}
在DeleteFile事件处理程序中,您应该删除该项,然后将其重新序列化回CardItemList文件在DeleteFile事件处理程序中,您应该删除该项,然后将其重新序列化回CardItemList文件您需要与视图(即您的
列表框
)通信某些内容已更改,因此需要更新/重画其内容
不幸的是,通用列表不会自动为您执行此操作。您需要的是使用可观察收集
,请注意说明的这一部分:
表示动态数据集合,该集合在添加、删除项或刷新整个列表时提供通知
如果正确使用,对集合的任何添加和删除都将导致列表框自身重新绘制。您需要向视图(即您的列表框
)反馈某些内容已更改,因此需要更新/重新绘制其内容
不幸的是,通用列表不会自动为您执行此操作。您需要的是使用可观察收集
,请注意说明的这一部分:
表示动态数据集合,该集合在添加、删除项或刷新整个列表时提供通知
如果正确使用它,则对集合的任何添加和删除都将导致列表框自身重新绘制。首先删除空的catch
块-它会吞下发生的任何异常,因此无论是否有错误,您都没有IDE。此外,你的DeleteFile
方法的内容被注释掉了,所以它什么都不做也不奇怪。实际上我正常地尝试过。但是当我在这个博客上发表评论的时候。。。要显示我尝试了多少种方法,Try方法位于另一个尝试显示内容的函数中。内容正在显示,但未删除@dstanley从删除空的catch
块开始-它会吞下发生的任何异常,因此如果有错误或没有错误,您就没有IDE。此外,您的DeleteFile
方法的内容被注释掉,因此它不做任何事情也就不足为奇了。实际上,我正常尝试过。但是当我在这个博客上发表评论的时候。。。要显示我尝试了多少种方法,Try方法位于另一个尝试显示内容的函数中。内容正在显示,但未删除@DStanleyI是新开发者@Chairag-Shah你能清楚地告诉我如何重新研究if吗?我是新开发者@Chairag-Shah你能清楚地告诉我如何重新研究if吗?