2013-07-16 30 views
1

我在我的应用程序列表框。 以下是截图。如何获取列表项索引当用户点击在Windows Phone 8中的列表项中的按钮

enter image description here

当列表项用户点击,那么我显示详细的页面。 它正在处理下面选择更改的侦听器。

private void companiesList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    {    
      //get the selected item from list 
      Company selectedItem = (Company)e.AddedItems[0]; 

    Uri uri = new Uri("/CompanyDetailsPage.xaml", UriKind.Relative); 
      //navigate to target page 
      this.NavigationService.Navigate(uri); 

      FrameworkElement root = Application.Current.RootVisual as FrameworkElement; 
      root.DataContext = selectedItem; 
} 
} 

高兴这是好的。

现在,当用户点击该项目上的删除按钮, 然后我必须从列表中删除该项目。

private void Del_Btn_clicked(object sender, RoutedEventArgs e) 
    { 
     //get the Corresponding item from list i.e. On which delete button is placed. 
    //Delete saved company from the database 


    } 

我无法得到它的删除按钮被置于特定的列表项指标。 何我能得到。

谢谢。

+0

我建议你将selectedItem到一个全局变量指数... ..然后用它来引用删除按钮 –

回答

2

您可以通过投射sender参数来检索按钮。

private void Del_Btn_clicked(object sender, RoutedEventArgs e) 
{ 
    var button = (Button)sender; 

    var company = (Company)button.DataContext; 

    // ... 
} 
+0

是选择的项目,投影后我得到了公司。现在我想从列表中删除该项目,并且列表应该立即更新。我怎么能够? –

+1

您可以使用list.remove(item)方法列表直接删除该公司项目(只要确保您使用的是list,那么您已经实现了inotifypropertychanged就可以将其转换为可观察集合。 – loop

0

做让你可以直接设置属性

的SelectedIndex = {结合ASD,模式=双向}

列表框中的指标:从那里,你可以通过铸造DataContext属性检索公司

然后在视图模型

使属性

private int _asd; 
public int asd 
{ 
get 
{ 
return _asd; 
} 
set 
{ 
_asd= value; 
} 
} 

此您将获得所选项目的 希望它可以帮助..

相关问题