我提到了这个Answer但它不起作用。列仍扩展到行内容。当单元格重新排列时,列大小会以某种方式更新
我的自定义DataGridCellsPanel.ArrangeOverride
:
protected override Size ArrangeOverride(Size arrangeSize)
{
var firstCell = Children[0];
firstCell.SetValue(Panel.HorizontalAlignmentProperty, HorizontalAlignment.Left);
firstCell.Arrange(new Rect(arrangeSize));
for (int i = 1; i < Children.Count; i++)
{
var remainingCell = Children[i];
remainingCell.Arrange(new Rect(0,0,0,0));
}
return arrangeSize;
}
我的DataGridRow.Template
:
<Style x:Key="SpanRowStyle" TargetType="DataGridRow">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRow}">
<Border>
<DataGridCellsPresenter Foreground="Black">
<DataGridCellsPresenter.ItemsPanel>
<ItemsPanelTemplate>
<controls:DataGridSpannedCellPanel/>
</ItemsPanelTemplate>
</DataGridCellsPresenter.ItemsPanel>
</DataGridCellsPresenter>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
请帮忙。
最佳答案
发现问题了。 :)
将 ColumnWidth 设置为 Auto 是罪魁祸首。将其设置为静态值效果很好。
关于wpf - 指定 DataGrid 单元格跨多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31676437/