async void ftb_DateFilterTypeChanged(object sender, EventArgs e)
        {
            FilterDatePicker fdp = sender as FilterDatePicker;

            if (fdp != null)
            {
                if (fdp.Text.IsEmpty())
                {
                    return;
                }
            }
            await _dg.Refresh();
        }
        private void getDateTimeColumnFilterControl()
        {
            FilterDatePicker ftb = new FilterDatePicker();

            ftb.HasTime = false;

            ftb.FilterDateChanged  += new EventHandler(ftb_FilterDateChanged);
            ftb.Padding             = new Thickness(0.0);
            ftb.Margin              = new Thickness(0.0);
            ftb.HorizontalAlignment = HorizontalAlignment.Stretch;
            ftb.BorderBrush         = ResourcesManager.Instance.GetBrush("IsReadOnlyBorderBrush");
            if (ftb.IsEnabled)
            {
                Binding tbBinding = new Binding("Collection.Filter.FieldsFilter[" + this.FieldName + "]")
                {
                    Source = _dg,
                    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                };
                //ftb.SetBinding(a7FilterDatePicker.FilterDateProperty, tbBinding);
                ftb.SetBinding(FilterDatePicker.TextProperty, tbBinding);
                if (_dg.Collection.Filter.FieldsFilter.FieldFilters[this.FieldName].Operator == FilterFieldOperator.Contains)
                {
                    _dg.Collection.Filter.FieldsFilter.FieldFilters[this.FieldName].Operator = FilterFieldOperator.Between;
                }
            }
            ftb.Height     = 30;
            ftb.FontSize   = 12;
            ftb.Background = Brushes.White;
            Binding cbBinding = new Binding("Collection.Filter.FieldsFilter.FieldFilters[" + this.FieldName + "].Operator")
            {
                Source = _dg,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };

            ftb.SetBinding(FilterDatePicker.FilterTypeProperty, cbBinding);
            Binding typeBinding = new Binding("Collection.Filter.FieldsFilter.FieldFilters[" + this.FieldName + "].PropertyType")
            {
                Source = _dg,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };

            ftb.SetBinding(FilterDatePicker.PropertyTypeProperty, typeBinding);
            ftb.FilterTypeChanged += new EventHandler(ftb_DateFilterTypeChanged);
            _columnFilterControl   = ftb;
        }
        private FilterDatePicker getDatePicker(PropertyDefinitionModel field)
        {
            FilterDatePicker ftb = new FilterDatePicker();

            ftb.HasTime             = false;
            ftb.Padding             = new Thickness(0.0);
            ftb.Margin              = new Thickness(0.0);
            ftb.Width               = 120;
            ftb.HorizontalAlignment = HorizontalAlignment.Stretch;
            ftb.BorderBrush         = ResourcesManager.Instance.GetBrush("IsReadOnlyBorderBrush");
            var fa = this.Filter as FltAtomExprData;

            fa.Operator = FilterFieldOperator.Between;
            //if(fa!=null)
            //    fa.Operator = FilterFieldOperator.Equal;
            ftb.SetBinding(FilterDatePicker.TextProperty, getFilterValueBinding());

            ftb.Height   = 18;
            ftb.FontSize = 12;
            var operatorBinding = new Binding("Operator")
            {
                Source = this.Filter,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };

            ftb.SetBinding(FilterDatePicker.FilterTypeProperty, operatorBinding);
            ftb.SetBinding(FilterDatePicker.IsEnabledProperty, getIsEnabledBinding());
            ftb.KeyUp += (s, e) =>
            {
                if (e.Key == Key.Enter)
                {
                    activateFilter();
                }
            };
            return(ftb);
        }
        private FilterDatePicker getDatePicker(PropertyDefinitionModel field)
        {
            FilterDatePicker ftb = new FilterDatePicker();
            ftb.HasTime = false;
            ftb.Padding = new Thickness(0.0);
            ftb.Margin = new Thickness(0.0);
            ftb.Width = 120;
            ftb.HorizontalAlignment = HorizontalAlignment.Stretch;
            ftb.BorderBrush = ResourcesManager.Instance.GetBrush("IsReadOnlyBorderBrush");
            var fa = this.Filter as FltAtomExprData;
            //if(fa!=null)
            //    fa.Operator = FilterFieldOperator.Equal;
            ftb.SetBinding(FilterDatePicker.TextProperty, getFilterValueBinding());

            ftb.Height = 18;
            ftb.FontSize = 12;
            var operatorBinding = new Binding("Operator")
            {
                Source = this.Filter,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };
            ftb.SetBinding(FilterDatePicker.FilterTypeProperty, operatorBinding);
            ftb.SetBinding(FilterDatePicker.IsEnabledProperty, getIsEnabledBinding());
            ftb.KeyUp += (s, e) =>
                {
                    if (e.Key == Key.Enter)
                        activateFilter();
                };
            return ftb;
        }
        private void getDateTimeColumnFilterControl()
        {
            FilterDatePicker ftb = new FilterDatePicker();
            ftb.HasTime = false;

            ftb.FilterDateChanged += new EventHandler(ftb_FilterDateChanged);
            ftb.Padding = new Thickness(0.0);
            ftb.Margin = new Thickness(0.0);
            ftb.HorizontalAlignment = HorizontalAlignment.Stretch;
            ftb.BorderBrush = ResourcesManager.Instance.GetBrush("IsReadOnlyBorderBrush");
            if (ftb.IsEnabled)
            {

                Binding tbBinding = new Binding("Collection.Filter.FieldsFilter[" + this.FieldName + "]")
                {
                    Source = _dg,
                    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                };
                //ftb.SetBinding(a7FilterDatePicker.FilterDateProperty, tbBinding);
                ftb.SetBinding(FilterDatePicker.TextProperty, tbBinding);
                if (_dg.Collection.Filter.FieldsFilter.FieldFilters[this.FieldName].Operator == FilterFieldOperator.Contains)
                    _dg.Collection.Filter.FieldsFilter.FieldFilters[this.FieldName].Operator = FilterFieldOperator.Between;
            }
            ftb.Height = 30;
            ftb.FontSize = 12;
            ftb.Background = Brushes.White;
            Binding cbBinding = new Binding("Collection.Filter.FieldsFilter.FieldFilters[" + this.FieldName + "].Operator")
            {
                Source = _dg,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };
            ftb.SetBinding(FilterDatePicker.FilterTypeProperty, cbBinding);
            Binding typeBinding = new Binding("Collection.Filter.FieldsFilter.FieldFilters[" + this.FieldName + "].PropertyType")
            {
                Source = _dg,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.TwoWay
            };
            ftb.SetBinding(FilterDatePicker.PropertyTypeProperty, typeBinding);
            ftb.FilterTypeChanged += new EventHandler(ftb_DateFilterTypeChanged);
            _columnFilterControl = ftb;
        }