Example #1
0
        public override void OnUpdateEditBinding(TreeDataColumnBase dataColumn, TreeGridHeaderCell element, object dataContext)
        {
            TreeGridColumn column = dataColumn.TreeGridColumn;

            // WPF-37159 - No need to clone the column. So below line is commented.
//#if WPF
//            if (TreeGrid != null && !TreeGrid.IsLoaded)
//                column = column.Clone() as TreeGridColumn;
//#endif
            element.ClearValue(TreeGridHeaderCell.ContentProperty);
            element.Column = column;
            if (column.HeaderText == null)
            {
                column.HeaderText = column.MappingName;
            }
            element.SetValue(ContentControl.ContentProperty, column.HeaderText);
            //We need bind the HorizontalHeaderContentAlignment value if only column has HorizontalHeaderContentAlignment value
            if (column.ReadLocalValue(TreeGridColumn.HorizontalHeaderContentAlignmentProperty) != DependencyProperty.UnsetValue)
            {
                element.SetValue(Control.HorizontalContentAlignmentProperty, column.HorizontalHeaderContentAlignment);
            }
            else
            {
                element.ClearValue(Control.HorizontalContentAlignmentProperty);
            }

            element.Update();
            element.DataContext = column;
        }
Example #2
0
        public override void OnInitializeEditElement(TreeDataColumnBase dataColumn, TreeGridHeaderCell uiElement, object dataContext)
        {
            TreeGridColumn column = dataColumn.TreeGridColumn;

            //#if WPF
            //            if (!TreeGrid.IsLoaded)
            //                column = column.Clone() as TreeGridColumn;
            //#endif
            uiElement.TreeGrid = this.TreeGrid;
            uiElement.Column   = dataColumn.TreeGridColumn;
            if (column != null)
            {
                if (column.HeaderText == null)
                {
                    column.HeaderText = column.MappingName;
                }
                uiElement.SetValue(ContentControl.ContentProperty, column.HeaderText);
                //We need bind the HorizontalHeaderContentAlignment value if only column has HorizontalHeaderContentAlignment value
                if (column.ReadLocalValue(TreeGridColumn.HorizontalHeaderContentAlignmentProperty) != DependencyProperty.UnsetValue)
                {
                    uiElement.SetValue(Control.HorizontalContentAlignmentProperty, column.HorizontalHeaderContentAlignment);
                }
                else
                {
                    uiElement.ClearValue(Control.HorizontalContentAlignmentProperty);
                }
                uiElement.Update();
                uiElement.DataContext = column;
            }
        }
        /// <summary>
        /// Computes the Padding for the Display UIElement.
        /// </summary>
        /// <param name="column">The column.</param>
        /// <remarks>Padding Cannot be applied at RunTime, as Currently We dont haven't constructed Padding via Binding Expression</remarks>
        /// <returns></returns>
        private static Thickness ProcessUIElementPadding(TreeGridColumn column)
        {
            var padLeft   = column.Padding.Left;
            var padRight  = column.Padding.Right;
            var padTop    = column.Padding.Top;
            var padBotton = column.Padding.Bottom;
            var padding   = column.ReadLocalValue(TreeGridColumn.PaddingProperty);

#if WPF
            return(padding != DependencyProperty.UnsetValue
                           ? new Thickness(3 + padLeft, 2 + padTop, 3 + padRight, 5 + padBotton)
                           : new Thickness(3, 1, 3, 1));
#else
            return(padding != DependencyProperty.UnsetValue
                           ? new Thickness(2 + padLeft, 2 + padTop, 3 + padRight, 2 + padBotton)
                           : new Thickness(2, 2, 3, 2));
#endif
        }