我有一個列表框中的一個簡單的項目列表。在我的XAML頁面,我有以下silverlight/windows phone 7 selectedIndex問題列表框中的按鈕
<ListBox Name="listBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding firstName}"/>
<TextBlock Text="{Binding lastName}"/>
<Button BorderThickness="0" Click="buttonPerson_Click">
<Image Source="delete-icon.png"/>
</Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在我隱藏,我試圖抓住將selectedIndex,所以我可以從綁定到我的列表框集合中刪除的項目。
private void buttonPerson_Click(object sender, RoutedEventArgs e)
{
// If selected index is -1 (no selection) do nothing
if (listBox1.SelectedIndex == -1)
return;
myPersonList.removeAt(listBox1.SelectedIndex);
}
然而,無論在哪一行我點擊刪除按鈕,的selectedIndex始終是-1
我缺少什麼?
在此先感謝!
這個答案已經相當有幫助的。如果我不想將整個對象附加到標籤怎麼辦?如果我只是想附加一個數字..說... selectedIndex? – Dave 2010-11-16 08:57:54
我會避免使用索引(因爲它更難做,而且代碼更改時靈活性更低)。您可以添加一個ID屬性(獨特的東西)到您的自定義對象,並將標籤綁定到此。然後,您可以循環訪問列表並根據此ID刪除,或者使用密鑰設置爲該ID的字典。 – theChrisKent 2010-11-16 14:20:56