C# 删除当前单击的列表框项(ObservableConnection)
我有一个列表框,其中包含一个ObservableCollection和一个相应的按钮。 我想删除相应按钮单击时的ListBoxItem 我添加了以下c代码:C# 删除当前单击的列表框项(ObservableConnection),c#,wpf,listbox,C#,Wpf,Listbox,我有一个列表框,其中包含一个ObservableCollection和一个相应的按钮。 我想删除相应按钮单击时的ListBoxItem 我添加了以下c代码: public ObservableCollection<DailySession> dailySession; 我无法获取我单击的ListBoxItem的索引 有没有其他方法可以从列表框中删除所选项目?这应该可以做到: private void btnClear_Click(object sender, RoutedEvent
public ObservableCollection<DailySession> dailySession;
我无法获取我单击的ListBoxItem的索引
有没有其他方法可以从列表框中删除所选项目?这应该可以做到:
private void btnClear_Click(object sender, RoutedEventArgs e)
{
DailySessions.Items.RemoveAt(DailySessions.Items.IndexOf(DailySessions.SelectedItem));
}
您可以强制转换单击按钮的DataContext:
为了工作,必须从代码中删除DailySession。我用这个代替了DailySessions.Items.RemoveclickedButton.DataContextDailySessions返回ObservableCollection时需要强制转换。不起作用,DailySessions.SelectedItem返回null。
private void btnClear_Click(object sender, RoutedEventArgs e)
{
//DailySessions is the Listbox name, btnClear is button name
DailySessions.Items.Remove(DailySessions.SelectedItem);// returns null
//DailySessions.Items.RemoveAt(DailySessions.SelectedIndex);// returns -1
}
private void btnClear_Click(object sender, RoutedEventArgs e)
{
DailySessions.Items.RemoveAt(DailySessions.Items.IndexOf(DailySessions.SelectedItem));
}
private void btnClear_Click(object sender, RoutedEventArgs e)
{
Button clickedButton = (Button)sender;
DailySessions.Items.Remove(clickedButton.DataContext as DailySession);
}