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 { /// /// Interaktionslogik für ComboBoxEmployeeSearch.xaml /// 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 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; } } }