Exemplo n.º 1
0
        private void AddDayFlyout_Click(object sender, RoutedEventArgs e)
        {
            FrameworkElement senderElement = sender as FrameworkElement;
            DatePickerFlyout picker        = new DatePickerFlyout();

            picker.ShowAt(senderElement);
            picker.DatePicked += Picker_DatePicked;
        }
Exemplo n.º 2
0
        void OnDateFly(object sender, TappedRoutedEventArgs e)
        {
            if (ReadOnlyBinding)
            {
                return;
            }

            // 日期选择器
            DatePickerFlyout fly = new DatePickerFlyout();

            fly.Date        = Value;
            fly.DatePicked += (s, args) => Value = args.NewDate.DateTime;
            fly.ShowAt(_grid);
        }
Exemplo n.º 3
0
        internal override void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            base.OnElementFocusChangeRequested(sender, args);

            // Show a picker fly out on focus to match iOS and Android behavior
            var flyout = new DatePickerFlyout {
                Placement = FlyoutPlacementMode.Bottom, Date = Control.Date
            };

            flyout.DatePicked += (p, e) => Control.Date = p.Date;
            if (!Element.IsVisible)
            {
                flyout.Placement = FlyoutPlacementMode.Full;
            }
            flyout.ShowAt(Control);
        }
Exemplo n.º 4
0
        void OnDateTimeFly(object sender, TappedRoutedEventArgs e)
        {
            if (ReadOnlyBinding)
            {
                return;
            }

            // uno无法给出相对位置
            TextBlock tb = _grid.Children[0] as TextBlock;
            var       pt = e.GetPosition(null);

            // 无文本内容时按Grid计算
            MatrixTransform trans = string.IsNullOrEmpty(tb.Text) ? _grid.TransformToVisual(null) as MatrixTransform : tb.TransformToVisual(null) as MatrixTransform;

            if (trans == null)
            {
                return;
            }

            bool showDateFly = (pt.X <= trans.Matrix.OffsetX + tb.ActualWidth / 2 + 10) && !_dateInTail;

            if (showDateFly)
            {
                // 日期选择器
                DatePickerFlyout fly = new DatePickerFlyout();
                fly.Date        = Value;
                fly.DatePicked += (s, args) => Value = args.NewDate.DateTime.Date + (Value - Value.Date);
                fly.ShowAt(_grid);
            }
            else
            {
                // 时间选择器
                TimePickerFlyout tf = new TimePickerFlyout();
                tf.Time        = Value - Value.Date;
                tf.TimePicked += (s, args) => Value = Value.Date + args.NewTime;
                tf.ShowAt(_grid);
            }
        }
 private void AddDayFlyout_Click(object sender, RoutedEventArgs e)
 {
     FrameworkElement senderElement = sender as FrameworkElement;
     DatePickerFlyout picker = new DatePickerFlyout();
     picker.ShowAt(senderElement);
     picker.DatePicked += Picker_DatePicked;
 }
Exemplo n.º 6
0
 private void AddDateTimeGrid_Tapped(object sender, TappedRoutedEventArgs e)
 {
     DatePickerFlyout datePickerFlyout = new DatePickerFlyout();
     datePickerFlyout.MinYear = DateTime.Now;
     datePickerFlyout.DatePicked += datePickerFlyout_DatePicked;
     datePickerFlyout.ShowAt(Frame);
 }
 private void DateButton_Click(object sender, RoutedEventArgs e)
 {
     _datePickerFlyout = new DatePickerFlyout();
     _datePickerFlyout.Date = CurrentDate;
     _datePickerFlyout.DatePicked += DatePickerFlyout_DatePicked;
     _datePickerFlyout.ShowAt(dateDisplayButton);
 }