从Hold事件中的Windows Phone列表框中获取所选项目

时间:2014-01-16 21:58:54

标签: c# windows-phone-8 listbox

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

<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);
}

1 个答案:

答案 0 :(得分:2)

有很多次被问过。有不同的方法来实现这一目标。阅读更多here

一种方法包括获取发件人的datacontext并将其投射到您的Item类型。

编辑:因为它是一堆字符串,所以提取字符串的方法可以是:

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

仅当您的DataTemplate定义不同时才有效。