Я создал класс ViewModel, который возвращает istance XmlDataProvider, я привязываюсь к нему здесь, в ListBox, DeleteCommand (ICommand).WPF (MVVM) удалить элемент из списка
<ListBox x:Name="Books" Margin="0,0,0,10"
DataContext="{Binding DataProvider}"
ItemsSource="{Binding}"
SelectionMode="Single">
</ListBox>
<Button Command="{Binding DeleteCommand}">Remove item</Button>
В списке ботов загружаются данные XML, и кнопка выполняет команду DeleteCommand просто отлично.
Мой Xml, как это и в DataProvider XPath = «Книги/Книга»:
<Books>
<Book Id="1">The book</Book>
...
</Books>
Проблема в том, что я не могу даже понять, как вернуть выбранный элемент в списке. Моя цель - получить идентификатор в ViewModel или привязать его к кнопке и передать ее как параметр, но я не вижу, как это сделать.
Кто может помочь?
привет, я пробовал этот путь в начале, но, по-видимому, не привязан к SelectedItem. Если я правильно понял, это потому, что я установил DataContext = "{Binding DataProvider}" в ListBox. Я попытался создать нормальный Listbox со встроенными ListBoxItems, и в этом случае SelectedItem связывает штраф на самом деле – CounterIt
Ну, тогда вы могли бы попытаться удалить часть элемента SelectedItem и просто сделать: – Belterius
Спасибо большое, теперь он работает таким образом – CounterIt