Вы можете использовать шаблон MVVM для его достижения. Вам нужно будет создать ObservableCollection, а затем вы можете написать команду, которая будет инициализироваться со своей коллекцией, и когда она должна выполнить, она получит объект, который вам нужно удалить через {Binding}
. Это выглядит так:
//View model
public class FileGroupViewModel : ModelObject
{
private ObservableCollection<FileGroup> fileGroups;
public FileGroupViewModel ( ObservableCollection<FileGroup> _initialFileGroup )
{
this.fileGroups = _initialFileGroup;
}
public ObservableCollection<FileGroup> FileGroups
{
get
{
return fileGroups;
}
set
{
fileGroups = value;
}
}
public ICommand DeleteFileGroup
{
get
{
return new RemoveItemCommand<FileGroup>(FileGroups);
}
}
}
RemoveItemCommand - шаблонный класс, который реализует интерфейс ICommand
public class RemoveItemCommand<T> : ICommand
{
private ObservableCollection<T> _items;
public RemoveItemCommand(ObservableCollection<T> items)
{
_items = items;
}
public void Execute(object parameter)
{
_items.Remove((T)parameter);
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
}
тогда ваш взгляд будет содержать что-то вроде этого ^
<DataTemplate>
<Button Command="{StaticResource DeleteCommand}" CommandParameter="{Binding}" Text="{Binding}" />
</DataTemplate>