public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { DataGridLengthConverter dglc = new DataGridLengthConverter(); double val = (double)value; return(dglc.ConvertFrom(val)); }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { DataGridLengthConverter converter = new DataGridLengthConverter(); var res = converter.ConvertFrom(value); return(res); }
private static void AddColumns(DataGrid dataGrid, IEnumerable columns) { foreach (var column in columns) { var desc = column as IColumnDescriptionVm; var template = desc?.Template; var cellTemplate = dataGrid.FindResource(new DataTemplateKey(template.GetType())) as DataTemplate; var dataGridLengthConverter = new DataGridLengthConverter(); var customBoundColumn = new CustomBoundColumn(desc) { Header = column, CellTemplate = cellTemplate, CellEditingTemplate = GetAttachedCellEditingTemplate(dataGrid), // MappedValueCollection = GetMappedValues(dataGrid), }; if (desc.Width != null) { customBoundColumn.Width = (DataGridLength)dataGridLengthConverter.ConvertFrom(null, CultureInfo.InvariantCulture, desc.Width); } else { customBoundColumn.Width = new DataGridLength(1, DataGridLengthUnitType.Star); } if (desc.CanSort) { customBoundColumn.HeaderTemplate = GetSortingHeaderTemplate(dataGrid); } else { customBoundColumn.HeaderTemplate = GetHeaderTemplate(dataGrid); } if (desc.HasOverlook) { customBoundColumn.CellStyle = dataGrid.FindResource("OverlookCellStyle") as Style; } if (desc.InsertBefore) { dataGrid.Columns.Insert(dataGrid.FrozenColumnCount, customBoundColumn); } else { dataGrid.Columns.Add(customBoundColumn); } } }
/// <summary> /// DataGrid绑定数据源描述 /// </summary> /// <param name="headerName">列名</param> /// <param name="showAs">显示为</param> /// <param name="width">宽度</param> /// <param name="displayIndex">显示顺序</param> /// <param name="resourceKey">自定义列Key</param> public BindDescriptionAttribute(string headerName, ShowScheme showAs = ShowScheme.普通文本, string width = "Auto", int displayIndex = 0, string resourceKey = "") { HeaderName = headerName; DisplayIndex = displayIndex; ResourceKey = resourceKey; ShowAs = showAs; var convert = new DataGridLengthConverter(); Width = (DataGridLength)convert.ConvertFrom(width); var gridCOnvert = new GridLengthConverter(); CloumnWidth = (GridLength)gridCOnvert.ConvertFrom(width); if (showAs == ShowScheme.自定义 && string.IsNullOrWhiteSpace(resourceKey)) { throw new ArgumentException($"自定义列时需要指定{nameof(resourceKey)}参数!"); } }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return(_converter.ConvertFrom(value)); }