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 Tango.Core.EventArguments; namespace Tango.Touch.Controls { public class TouchDatePicker : DatePicker { static TouchDatePicker() { DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchDatePicker), new FrameworkPropertyMetadata(typeof(TouchDatePicker))); } public TouchDatePicker() { this.RegisterForPreviewMouseOrTouchDown(OnMouseDown); this.RegisterForPreviewMouseOrTouchUp(OnMouseUp); } private void OnMouseUp(object sender, MouseOrTouchEventArgs e) { ShowSelectionOnTouchPanel(); } private void OnMouseDown(object sender, MouseOrTouchEventArgs e) { System.Windows.Input.Keyboard.Focus(this); } private void ShowSelectionOnTouchPanel() { TouchPanel touchPanel = this.FindAncestor(); if (touchPanel != null) { touchPanel.CurrentDatePicker = this; } } internal void SetResultFromTouchPanel(DateTime selectedDate) { SelectedDate = selectedDate; } } }