Löschen Knopf

This commit is contained in:
2025-06-02 16:26:06 +02:00
parent 3f2bd74438
commit 5b2b05ed55
3 changed files with 31 additions and 3 deletions

View File

@@ -21,6 +21,11 @@ class FahrzeugeModell
return fahrzeugListe;
}
public void LoescheFahrzeug(Fahrzeug fahrzeug)
{
_repository.LoescheFahrzeug(fahrzeug.Id);
}
private IEnumerable<Fahrzeug> KonvertiereFahrzeuge(IEnumerable<FahrzeugDTO> fahrzeugs)
{
return fahrzeugs.Select(fahrzeug => KonvertiereFahrzeuf(fahrzeug));

View File

@@ -8,7 +8,7 @@
d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel, IsDesignTimeCreatable=False}"
Title="{Binding Path=MainWindowTitle}" Height="450" Width="800">
<StackPanel>
<DataGrid Name="dgTest"
<DataGrid x:Name="fahrzeugTabelle"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserSortColumns="True"
@@ -18,6 +18,13 @@
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Command="{Binding ElementName=fahrzeugTabelle, Path=DataContext.LoeschenKommando}" CommandParameter="{Binding}">Löschen</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

View File

@@ -1,6 +1,7 @@
using FahrzeugDatenBank;
using System.Collections.ObjectModel;
using System.Timers;
using System.Windows.Input;
namespace FahzeugWPF;
@@ -19,11 +20,19 @@ class MainWindowViewModel : ViewModelBase
this._timer.Start();
this._model = modell;
this.InitialisiereDasViewModell();
this.LoeschenKommando = new RelayCommand(LoescheFahrzeug);
}
public string MainWindowTitle { get { return _mainWindowTitle; } set {
public ICommand LoeschenKommando { get; private set; }
public string MainWindowTitle
{
get { return _mainWindowTitle; }
set
{
SetProperty<string>(ref _mainWindowTitle, value);
} }
}
}
public ObservableCollection<Fahrzeug> Fahrzeuge { get; } = new ObservableCollection<Fahrzeug>();
@@ -40,4 +49,11 @@ class MainWindowViewModel : ViewModelBase
{
this.MainWindowTitle = $"Fahrzeuge {DateTime.Now.ToLongTimeString()}";
}
private void LoescheFahrzeug(object? fahrzeug)
{
if (fahrzeug == null) return;
_model.LoescheFahrzeug((Fahrzeug)fahrzeug);
this.Fahrzeuge.Remove((Fahrzeug)fahrzeug);
}
}