Лучшим вариантом является привязка базы данных списка к коллекции List или ObservableObject, а также двусторонняя привязка данных к «SelectedItem» или «SelectedIndex» (я предпочитаю selecteditem) к свойству.
Затем по нажатию кнопки вы можете просто вызвать collection.Remove (selecteditemproperty).
Если вы используете MVVM или iPropertyNotified, то представление автоматически обновит список при изменении внутренней коллекции.
Дайте мне знать, если вам нужен более подробный пример для этого. но в основном:
public ObservableCollection<ItemViewModel> _items;
/// <summary>
/// A collection for ItemViewModel objects.
/// </summary>
public ObservableCollection<ItemViewModel> Items
{
get
{
return _items;
}
set
{
if (value != _items)
{
_items = value;
NotifyPropertyChanged("Items");
}
}
}
private ItemViewModel _listBoxSelectedItem;
/// <summary>
/// Sample ViewModel property; this property is used in the view to display its value using a Binding
/// </summary>
/// <returns></returns>
public ItemViewModel ListBoxSelectedItem
{
get
{
return _listBoxSelectedItem;
}
set
{
if (value != _listBoxSelectedItem)
{
_listBoxSelectedItem = value;
NotifyPropertyChanged("ListBoxSelectedItem");
}
}
}
Затем привяжите список так:
ItemsSource="{Binding Items}" SelectedItem="{Binding ListBoxSelectedItem, Mode=TwoWay}"
Затем просто обратитесь к этим значениям, как описано
Надеюсь, это поможет