Windows phone 7 Windows Phone 7-将所选项目(列表框数据绑定到ObservableCollection)传递到;更新;页

Windows phone 7 Windows Phone 7-将所选项目(列表框数据绑定到ObservableCollection)传递到;更新;页,windows-phone-7,data-binding,listbox,observablecollection,Windows Phone 7,Data Binding,Listbox,Observablecollection,我正在编写一个WindowsPhone7应用程序,它应该非常基本 我有一个视图模型(“MainViewModel”),它包含我创建的一个类(“EntrySheet”),其中包含一个ObservableCollection(我将其称为“条目”) My MainPage.xaml包含一个数据绑定到App.ViewModel.EntrySheet.Entries的列表框。这非常适合显示列表,向ObservableCollection添加条目会反映在ListBox中 然而,我无法理解的是,如何正确地将所

我正在编写一个WindowsPhone7应用程序,它应该非常基本

我有一个视图模型(“MainViewModel”),它包含我创建的一个类(“EntrySheet”),其中包含一个ObservableCollection(我将其称为“条目”)

My MainPage.xaml包含一个数据绑定到App.ViewModel.EntrySheet.Entries的列表框。这非常适合显示列表,向ObservableCollection添加条目会反映在ListBox中

然而,我无法理解的是,如何正确地将所选条目“传递”到更新页面(这将允许用户更改条目上的字段:名称、金额、日期,当导航回主页时,列表框中将反映的内容)

我猜我期望ObservableCollection上有一个“SelectedItem”,我可以导航到更新页面,该页面可以使用如下内容:App.ViewModel.EntrySheet.Entries.SelectedItem


我非常感谢在这方面提供的任何帮助,也欢迎对如何更好地构建我的应用程序提出建设性的批评。

我知道这是一个迟来的答案,但我现在碰巧遇到了你的问题

以下是一个可能的解决方案:

XAML

<ListBox Name="listBox" Tap="listBox_Tap">
    <!-- Some code -->
</ListBox>
这将使您能够与列表框中所选项目后面的数据对象进行交互


提供有人对此有任何意见吗?任何帮助都将不胜感激。我能够想出一个可能的解决方案,但感觉…一团糟。我添加了一个类“Entry”的静态实例和一个名为selectedx的整数。当用户“点击”列表中的某个项目时,我将App.Entry设置为点击的列表项目,设置所选索引,然后导航到编辑页面。在编辑页面中,当用户单击“保存”时,我可以使用所选索引更新我的App.ViewModel中的正确条目。这似乎不是“正确”的解决方案,但如果其他人都是这样做的,我会学会接受它!
private void listBox_Tap(object sender, GestureEventArgs e)
{
    DataObject dataObject = (sender as ListBox).SelectedItem as DataObject;
    //Do something with dataObject
}