当用户点击windows phone 8中列表项中的按钮时,如何获取列表项索引

时间:2013-07-16 08:22:00

标签: windows-phone-7 listbox 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   


    }

我无法获得放置删除按钮的特定列表项索引。 我可以得到。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以通过强制转换sender参数来检索按钮。从那里,您可以通过转换DataContext属性来检索公司:

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

    var company = (Company)button.DataContext;

    // ...
}

答案 1 :(得分:0)

获取列表框的索引,您可以直接设置属性

SelectedIndex = {Binding asd,Mode = TwoWay}

然后在viewmodel中

制作一个属性

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

通过这个你将获得所选项目的索引... 希望它可以帮助..