public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            ContentPresenter presenter     = container as ContentPresenter;
            DataGridCell     cell          = presenter.Parent as DataGridCell;
            DataFormEntry    dataFormEntry = (cell.DataContext as DataFormEntry);

            //DataFormEntry dataFormEntry = item as DataFormEntry;
            if (dataFormEntry != null)
            {
                switch (dataFormEntry.DataControl)
                {
                case "Text Box":
                    return(TextBoxControlEditingTemplate);

                case "List Box":
                    return(ListBoxControlEditingTemplate);

                case "Combo Box":
                    return(ComboBoxControlEditingTemplate);

                case "Date Picker":
                    return(DatePickerControlEditingTemplate);

                default:
                    return(DefaultControlTemplate);
                }
            }
            else
            {
                return(base.SelectTemplate(item, container));
            }
        }
        public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            DataFormEntry dataFormEntry = item as DataFormEntry;

            if (dataFormEntry != null)
            {
                switch (dataFormEntry.DataControl)
                {
                case "List Box":
                    return(ListBoxControlValueViewerTemplate);

                case "Text Box":
                    return(TextBoxControlValueViewerTemplate);

                case "Combo Box":
                    return(ComboBoxControlValueViewerTemplate);

                case "Date Picker":
                    return(DatePickerControlValueViewerTemplate);

                default:
                    return(DefaultControlTemplate);
                }
            }
            else
            {
                return(base.SelectTemplate(item, container));
            }
        }
        public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            ContentPresenter            presenter     = container as ContentPresenter;
            DataGridCell                cell          = presenter.Parent as DataGridCell;
            DataFormEntry               dataFormEntry = (cell.DataContext as DataFormEntry);
            PropertyChangedEventHandler lambda        = null;

            lambda = (o, args) =>
            {
                if (args.PropertyName == "ListBoxControlValue")
                {
                    dataFormEntry.PropertyChanged -= lambda;
                    var cp = (ContentPresenter)container;
                    cp.ContentTemplateSelector = null;
                    cp.ContentTemplateSelector = this;
                }
            };
            dataFormEntry.PropertyChanged += lambda;

            if (dataFormEntry != null)
            {
                switch (dataFormEntry.DataControl)
                {
                case "Text Box":
                    return(TextBoxControlValueTemplate);

                case "List Box":
                    var x = dataFormEntry.ListBoxControlValue;
                    var y = dataFormEntry.ListBoxControlEditorValue;
                    return(ListBoxControlValueTemplate);

                case "Combo Box":
                    return(ComboBoxControlValueTemplate);

                case "Date Picker":
                    return(DatePickerControlValueTemplate);

                default:
                    return(DefaultControlTemplate);
                }
            }
            else
            {
                return(base.SelectTemplate(item, container));
            }
        }
Example #4
0
        public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            DataFormEntry dataFormEntry = item as DataFormEntry;

            if (dataFormEntry != null)
            {
                switch (dataFormEntry.LabelControl)
                {
                case "Text Block":
                    return(TextBoxControlTemplate);

                case "Label":
                    return(TextBlockControlTemplate);

                default:
                    return(DefaultControlTemplate);
                }
            }
            else
            {
                return(base.SelectTemplate(item, container));
            }
        }