2014-01-16 57 views
1

我的Windows Phone 8應用程序中有一個非常基本的Listbox。這不是數據綁定到任何東西,它只是一個空的列表框。從Windows Phone列表框中獲取所選項目舉行事件

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

回答

2

它被問了很多次。有不同的方法來實現這一點。閱讀更多here

一種方法包括獲取發件人的datacontext並將其轉換爲您的Item類型。

編輯:由於它是一串字符串,提取字符串的方式可以是:

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

如果您的DataTemplate沒有不同的定義這僅適用。

+0

謝謝,但我知道如何選擇更改時抓住selecteditem。問題是在hold事件觸發時找到selecteditem,而不是選擇已更改事件。 – irldev

+0

@irldev你要添加到列表中的項目是什麼類型的,一個簡單的字符串? –

+0

這是一個KeyValuePair <字符串,對象>字典,我遍歷並將該鍵和值添加到列表框中。 – irldev

相關問題