using Avalonia.Controls; using Avalonia.Input; using Lagerprogramm.Models; using Lagerprogramm.ViewModels; using System.Collections.ObjectModel; using System.Threading.Tasks; namespace Lagerprogramm.Views; public partial class AdditionSearchDialog : Window { public Addition? SelectedAddition { get; private set; } public AdditionSearchDialog() { InitializeComponent(); KeyDown += OnKeyDown; } public async Task ShowAdditionSearch(ObservableCollection additions, Window parent) { SelectedAddition = null; var viewModel = new AdditionSearchDialogViewModel(additions); DataContext = viewModel; await ShowDialog(parent); return SelectedAddition; } private void OnDoubleTapped(object? sender, TappedEventArgs e) { if (AdditionListBox.SelectedItem is Addition addition) { SelectedAddition = addition; Close(); } } private void OnKeyDown(object? sender, KeyEventArgs e) { if (e.Key == Key.Enter && AdditionListBox.SelectedItem is Addition addition) { SelectedAddition = addition; Close(); } } }