Beispiel #1
0
        protected override void ApplyAdditionalLayoutInfo(Dictionary <string, object> layoutInfo)
        {
            DataGridLength[] originalColumnWidths = this.DataGridFields.Columns.Select(column => column.Width).ToArray();

            try
            {
                var dataGridLengthConverter = new DataGridLengthConverter();
                for (int index = 0; index < this.DataGridFields.Columns.Count; index++)
                {
                    var dataGridColumnKey = string.Format(DataGridColumnKeyFormat, index);
                    if (!layoutInfo.ContainsKey(dataGridColumnKey))
                    {
                        continue;
                    }

                    this.DataGridFields.Columns[index].Width = (DataGridLength)dataGridLengthConverter.ConvertFromString((string)layoutInfo[dataGridColumnKey]);
                }
            }
            catch
            {
                for (int index = 0; index < this.DataGridFields.Columns.Count; index++)
                {
                    this.DataGridFields.Columns[index].Width = originalColumnWidths[index];
                }
            }
        }
Beispiel #2
0
        private DataGridLength ParseWidth(string defaultWidth)
        {
            if (string.IsNullOrEmpty(defaultWidth))
            {
                return(new DataGridLength(100));
            }

            var converter = new DataGridLengthConverter();

            return((DataGridLength)converter.ConvertFromString(defaultWidth));
        }
Beispiel #3
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var stringValue = (value as string);

            if (string.IsNullOrEmpty(stringValue))
            {
                return(ValidationResult.Success);
            }

            try
            {
                ConverterInstance.ConvertFromString(stringValue);
                return(ValidationResult.Success);
            }
            catch
            {
                return(new ValidationResult("Examples of valid values: 'Auto', '150', '2*'", new[] { validationContext.MemberName }));
            }
        }