I'm trying to resize my column widths whenever the user resizes the window. When the window size changes, I determine the new column widths then apply it to the column and label width properties:
currColField.Settings.CellMinWidth = dWidthPerCol;currColField.Settings.CellMaxWidth = dWidthPerCol;currColField.Settings.CellWidth = dWidthPerCol;
currColField.Settings.LabelMaxWidth = dWidthPerCol;currColField.Settings.LabelMinWidth = dWidthPerCol;currColField.Settings.LabelWidth = dWidthPerCol;
Problem is, the settings don't take cause the columns to resize. Am I doing something wrong? Is there a better way to approach this?
ThanksDan
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); double newCellWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].CellWidthResolved + 1; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMinWidth = newCellWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMaxWidth = newCellWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellWidth = newCellWidth; double newLabelWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].LabelWidthResolved + 1; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMaxWidth = newLabelWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMinWidth = newLabelWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelWidth = newLabelWidth; }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
{
base.OnRenderSizeChanged(sizeInfo); double newCellWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].CellWidthResolved + 1; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMinWidth = newCellWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMaxWidth = newCellWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellWidth = newCellWidth; double newLabelWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].LabelWidthResolved + 1; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMaxWidth = newLabelWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMinWidth = newLabelWidth; this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelWidth = newLabelWidth;
base.OnRenderSizeChanged(sizeInfo);
double newCellWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].CellWidthResolved + 1;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMinWidth = newCellWidth;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellMaxWidth = newCellWidth;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.CellWidth = newCellWidth;
double newLabelWidth = this.xamDataGrid1.DefaultFieldLayout.Fields[0].LabelWidthResolved + 1;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMaxWidth = newLabelWidth;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelMinWidth = newLabelWidth;
this.xamDataGrid1.DefaultFieldLayout.Fields[0].Settings.LabelWidth = newLabelWidth;
}