47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
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<Addition?> ShowAdditionSearch(ObservableCollection<Addition> 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();
|
|
}
|
|
}
|
|
}
|