git_bsmd/ENI2/AnmeldungenControl.xaml.cs

86 lines
2.2 KiB
C#

// Copyright (c) 2017 Informatibüro Daniel Schick
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using bsmd.database;
namespace ENI2
{
/// <summary>
/// Interaction logic for anmeldungenControl.xaml
/// </summary>
public partial class AnmeldungenControl : UserControl
{
#region Construction
public AnmeldungenControl()
{
InitializeComponent();
}
#endregion
public event MessageCore.MessageCoreSelectedHandler MessageCoreSelected;
#region event handling / selection
private void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if(sender != null)
{
DataGrid grid = sender as DataGrid;
if(grid?.SelectedItems?.Count == 1)
{
MessageCore selectedCore = grid.SelectedItem as MessageCore;
this.DisplayCore(selectedCore);
}
}
}
private void DisplayCore(MessageCore core)
{
if(core != null)
{
this.OnMessageCoreSelected(core);
}
}
protected void OnMessageCoreSelected(MessageCore aMessageCore)
{
if((this.MessageCoreSelected != null) && (aMessageCore != null))
{
this.MessageCoreSelected(aMessageCore);
}
}
protected override void OnPreviewKeyDown(KeyEventArgs e)
{
if ((e.Key == Key.Return) || (e.Key == Key.Enter))
{
MessageCore selectedCore = dataGrid.SelectedItem as MessageCore;
this.DisplayCore(selectedCore);
}
else
{
base.OnPreviewKeyDown(e);
}
}
#endregion
}
}