是否有任何方法可以迫使最后一列延伸通过DataGrid
WPF的宽度?
由于在某些情况下DataGrid
的宽度大于所有累积列的宽度,因此DataGrid
的行为就像包含最后一个空列。
<DataGrid Grid.Row="1" ItemsSource="{Binding Params}" Width="Auto"
AutoGenerateColumns="True" HeadersVisibility="None">
</DataGrid>
public List<KeyValuePair<string,string>> Params { get; set; }
答案 0 :(得分:2)
您可以处理AutoGeneratedColumns
事件,并通过编程将最后一列的Width
设置为*
:
private void DataGrid_AutoGeneratedColumns(object sender, EventArgs e)
{
DataGrid dataGrid = (DataGrid)sender;
dataGrid.Columns[dataGrid.Columns.Count - 1].Width = new DataGridLength(1, DataGridLengthUnitType.Star);
}
XAML:
<DataGrid Grid.Row="1" ItemsSource="{Binding Params}"
Width="Auto" AutoGenerateColumns="True" HeadersVisibility="None"
AutoGeneratedColumns="DataGrid_AutoGeneratedColumns">
</DataGrid>