2010-12-10 95 views
0

你好, 我想在Windows Phone 7中制作一个动态填充的菜单。我认为列表框应该是最适合的。但是,一旦用户与列表框交互,我无法获得“selectedValue” - 因此我无法向导航处理程序提供任何信息。Windows Phone 7中的列表框菜单

如何创建ListBox项目是动态创建的,并在用户点击同一页面时使用不同的参数来导航用户。

\informations.xam?id=2

回答

3

就在不久前我写了WP7应用程序,我使用的是这样的:

private void CategoryList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (CategoryList.SelectedIndex == -1) return; 
    string id = (CategoryList.SelectedItem as DepartmentViewModel).ID; 
    NavigationService.Navigate(new Uri("/Views/CatalogueBrowser/CategoriesPage.xaml?deptId=" + id, UriKind.Relative)); 
    CategoryList.SelectedIndex = -1; 
} 

基本上,我把我的ListBox的的ItemsSource特定视图模型的观察集合,然后你只需使用列表框的SelectedItem属性访问选定的视图模型对象。

+4

并注意选择设置回到-1,它是一个重要的细节。 (如果你不这样做,并且你导航回来,点击相同的项目将不会做任何事情,因为选择没有“改变”) – 2010-12-10 17:52:54

+0

很好记:-) – 2010-12-10 19:09:30

1

创建一个新的“Windows Phone Databound应用程序”,作为项目的一部分生成的样板代码将告诉您如何执行此操作。