C# 在保留事件中从Windows Phone列表框获取所选项目

C# 在保留事件中从Windows Phone列表框获取所选项目,c#,windows-phone-8,listbox,C#,Windows Phone 8,Listbox,我的WindowsPhone8应用程序中有一个非常基本的列表框。它不是绑定到任何东西的数据,只是一个空的列表框 <ListBox Margin="0,10" Name="lstStops" SelectionChanged="favouriteSelection" Hold="favouriteSelectionHold" FontSize="28"> <ListBox.Items> </ListBox.Items> </ListB

我的WindowsPhone8应用程序中有一个非常基本的列表框。它不是绑定到任何东西的数据,只是一个空的列表框

<ListBox Margin="0,10" Name="lstStops" SelectionChanged="favouriteSelection" 
 Hold="favouriteSelectionHold" FontSize="28">
    <ListBox.Items>

    </ListBox.Items>
</ListBox>

我希望能够通过按住项目,为用户提供从该列表中删除项目的选项。我添加了一个onHold事件,当用户按下列表中的一个项目并保持时,该事件将触发,但我不知道如何找出他们在列表框中选择的实际条目

我怎样才能知道他们按下并按住了哪个项目

以下是列表框的填充方式:

foreach (KeyValuePair<string, Object> entry in IsolatedStorageSettings.ApplicationSettings)
{
    lstStops.Items.Add(entry.Key as String + " - " + entry.Value as String);
}
foreach(IsolatedStorageSettings.ApplicationSettings中的KeyValuePair条目)
{
lstStops.Items.Add(entry.Key作为字符串+“-”+entry.Value作为字符串);
}

已经问过很多次了。实现这一点有不同的方法。阅读更多

一种方法包括获取发件人的datacontext并将其强制转换为您的项目类型

编辑:由于它是一组字符串,因此提取字符串的方法可以是:

private void favouriteSelectionHold(object sender, System.Windows.Input.GestureEventArgs e)
{
    string n = (e.OriginalSource as TextBlock).Text;
}

只有当您的数据模板没有不同的定义时,这才有效。

谢谢,但我知道如何在选择更改时获取selecteditem。问题是在hold事件触发时查找selecteditem,而不是Selection Changed事件。@irldev您要添加到列表中的项目的类型,一个简单的字符串?它是一个KeyValuePair字典,我在其中迭代并将键和值添加到listbox。@irldev您可以为您的问题添加更多代码以使其更清楚-如何填充listbox和item类实现?这样我就更容易正确回答了。