Пример #1
0
        public TimePickerView()
        {
            _timePicker = new BlankTimePicker
            {
                BackgroundColor   = Color.Transparent,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };
            Input = _timePicker;
            _timePicker.SetBinding(Entry.TextProperty,
                                   new Binding(nameof(EntryText))
            {
                Source = this, Mode = BindingMode.TwoWay
            });
            _timePicker.SetBinding(Entry.FontAttributesProperty,
                                   new Binding(nameof(EntryFontAttributes))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.FontFamilyProperty,
                                   new Binding(nameof(EntryFontFamily))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.FontSizeProperty,
                                   new Binding(nameof(EntryFontSize))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.PlaceholderProperty,
                                   new Binding(nameof(EntryPlaceholder))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.PlaceholderColorProperty,
                                   new Binding(nameof(EntryPlaceholderColor))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.HorizontalTextAlignmentProperty,
                                   new Binding(nameof(EntryHorizontalTextAlignment))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(Entry.TextColorProperty,
                                   new Binding(nameof(EntryTextColor))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(HeightRequestProperty,
                                   new Binding(nameof(EntryHeightRequest))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(MarginProperty,
                                   new Binding(nameof(EntryMargin))
            {
                Source = this, Mode = BindingMode.OneWay
            });

            _timePicker.SetBinding(IsEnabledProperty,
                                   new Binding(nameof(IsReadOnly))
            {
                Source = this, Mode = BindingMode.OneWay, Converter = new InverseBooleanConverter()
            });
            _timePicker.SetBinding(InputTransparentProperty,
                                   new Binding(nameof(IsReadOnly))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(HeightRequestProperty,
                                   new Binding(nameof(EntryHeightRequest))
            {
                Source = this, Mode = BindingMode.OneWay
            });

            //_timePicker.SetBinding(BlankTimePicker.FormatProperty,
            //    new Binding(nameof(Format)) { Source = this, Mode = BindingMode.OneWay });
            //_timePicker.SetBinding(BlankTimePicker.TimeProperty,
            //    new Binding(nameof(Time)) { Source = this, Mode = BindingMode.TwoWay });


            _timePicker.SetBinding(BlankTimePicker.DoneButtonTextProperty,
                                   new Binding(nameof(DoneButtonText))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(BlankTimePicker.CancelButtonTextProperty,
                                   new Binding(nameof(CancelButtonText))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(BlankTimePicker.UpdateModeProperty,
                                   new Binding(nameof(UpdateMode))
            {
                Source = this, Mode = BindingMode.OneWay
            });

            _timePicker.Focused      += FocusEntry;
            _timePicker.Unfocused    += UnfocusEntry;
            _timePicker.TextChanged  += SendEntryTextChanged;
            _timePicker.TimeSelected += Time_Selected;

            Children.Add(_timePicker, 2, 3, 1, 2);
        }
Пример #2
0
        public TimePickerView()
        {
            _timePicker = new BlankTimePicker
            {
                BackgroundColor   = Color.Transparent,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };
            _timePicker.SetBinding(TimePicker.FontAttributesProperty,
                                   new Binding(nameof(EntryFontAttributes))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(TimePicker.FontFamilyProperty,
                                   new Binding(nameof(EntryFontFamily))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(TimePicker.FontSizeProperty,
                                   new Binding(nameof(EntryFontSize))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(BlankTimePicker.PlaceholderProperty,
                                   new Binding(nameof(EntryPlaceholder))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(BlankTimePicker.PlaceholderColorProperty,
                                   new Binding(nameof(EntryPlaceholderColor))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(BlankTimePicker.HorizontalTextAlignmentProperty,
                                   new Binding(nameof(EntryHorizontalTextAlignment))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(TimePicker.TextColorProperty,
                                   new Binding(nameof(EntryTextColor))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(HeightRequestProperty,
                                   new Binding(nameof(EntryHeightRequest))
            {
                Source = this, Mode = BindingMode.OneWay
            });

            _timePicker.SetBinding(TimePicker.FormatProperty,
                                   new Binding(nameof(Format))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _timePicker.SetBinding(TimePicker.TimeProperty,
                                   new Binding(nameof(Time))
            {
                Source = this, Mode = BindingMode.TwoWay
            });

            _pFrame = new Frame
            {
                Padding         = 0,
                HasShadow       = false,
                BackgroundColor = Color.Transparent,
                Content         = _timePicker
            };
            _pFrame.SetBinding(IsEnabledProperty,
                               new Binding(nameof(IsReadOnly))
            {
                Source = this, Mode = BindingMode.OneWay, Converter = new InverseBooleanConverter()
            });
            _pFrame.SetBinding(InputTransparentProperty,
                               new Binding(nameof(IsReadOnly))
            {
                Source = this, Mode = BindingMode.OneWay
            });
            _pFrame.SetBinding(HeightRequestProperty,
                               new Binding(nameof(EntryHeightRequest))
            {
                Source = this, Mode = BindingMode.OneWay
            });

            TextAlignmentCommand = new Command(() => TextAlignmentChanged());

            _timePicker.Focused   += FocusEntry;
            _timePicker.Unfocused += UnfocusEntry;

            Children.Add(_pFrame, 2, 3, 1, 2);
        }