Files
BeWoPlaner/BeWo/View/Controls/ComboBoxes/ComboBoxEmployeeSearch.xaml.cs

86 lines
2.4 KiB
C#

using BeWo.View.Search;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
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;
namespace BeWo.View.Controls.ComboBoxes
{
/// <summary>
/// Interaktionslogik für ComboBoxEmployeeSearch.xaml
/// </summary>
public partial class ComboBoxEmployeeSearch : ComboBoxGenericSearch
{
// Using a DependencyProperty as the backing store for SelectedCompactEmployeeDC. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SelectedCompactEmployeeDCProperty =
DependencyProperty.Register("SelectedCompactEmployeeDC",
typeof(CompactEmployeeDC),
typeof(ComboBoxEmployeeSearch),
new UIPropertyMetadata(null,
selectCompactEmployee2));
public CompactEmployeeDC SelectedCompactEmployeeDC
{
get { return (CompactEmployeeDC)GetValue(SelectedCompactEmployeeDCProperty); }
set { SetValue(SelectedCompactEmployeeDCProperty, value); }
}
static ComboBoxEmployeeSearch()
{
SearchModeProperty.OverrideMetadata(typeof(ComboBoxEmployeeSearch), new UIPropertyMetadata(SearchMode.All, updateSearchMode));
}
public ComboBoxEmployeeSearch()
{
InitializeComponent();
}
private void popupedit_PopUpClick(object sender, EventArgs e)
{
searchview.ItemSelected += searchview_Selected;
popup.IsOpen = true;
}
private void searchview_Selected(object sender, EventArgs<CompactEmployeeDC> e)
{
popup.IsOpen = false;
searchview.ItemSelected -= searchview_Selected;
SelectedCompactEmployeeDC = e.Data;
popupedit.Focus();
}
private static void selectCompactEmployee2(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var control = d as ComboBoxEmployeeSearch;
control.popupedit.Text = e.NewValue?.ToString();
}
private static void updateSearchMode(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var control = d as ComboBoxEmployeeSearch;
control.searchview.SearchMode = (SearchMode)e.NewValue;
}
private void popupedit_DeleteClick(object sender, RoutedEventArgs e)
{
SelectedCompactEmployeeDC = null;
}
}
}