Esempio n. 1
0
        public static GridCustomizations GetGridExternalInformations(XamDataGrid grid)
        {
            var gridCustomizations = new GridCustomizations();

            foreach (var field in grid.FieldLayouts[0].Fields)
            {
                //field.Name
                if (field.CellValuePresenterStyle?.Setters?.Count > 0)
                {
                    ColumnSettings columnSettings = new ColumnSettings();

                    foreach (Setter r in field.CellValuePresenterStyle.Setters)
                    {
                        if (r.Property.Name == Constants.ForegroundKey)
                        {
                            columnSettings.ForeColor = r.Value.ToString();
                        }
                        else if (r.Property.Name == Constants.BackgroundKey)
                        {
                            columnSettings.BackGroundColor = r.Value.ToString();
                        }
                    }

                    if (columnSettings.HasData)
                    {
                        gridCustomizations.ColumnsStyle[field.Name] = columnSettings;
                    }
                }
            }

            return(gridCustomizations);
        }
Esempio n. 2
0
        private void LoadCustomGridSettings(XamDataGrid grid, GridCustomizations gridCustomizations)
        {
            foreach (var gridCustomization in gridCustomizations.ColumnsStyle.Where(x => x.Value.HasData))
            {
                string columnName = gridCustomization.Key;

                var column = grid.FieldLayouts[0].Fields.FirstOrDefault(x => x.Name == columnName);

                var style = new Style(typeof(CellValuePresenter));

                if (!string.IsNullOrEmpty(gridCustomization.Value.ForeColor))
                {
                    style.Setters.Add(new Setter(Control.ForegroundProperty,
                                                 new SolidColorBrush((Color)ColorConverter.ConvertFromString(gridCustomization.Value.ForeColor))));
                }

                if (!string.IsNullOrEmpty(gridCustomization.Value.BackGroundColor))
                {
                    style.Setters.Add(new Setter(Control.BackgroundProperty,
                                                 new SolidColorBrush((Color)ColorConverter.ConvertFromString(gridCustomization.Value.BackGroundColor))));
                }

                column.CellValuePresenterStyle = style;
            }
        }