如何将DataGrid标头的XAML宽度设置为*
?
此代码不起作用:
<DataGrid>
<DataGrid.Resources>
<Style x:Key="CbClmn" TargetType="DataGridColumnHeader">
<Setter Property="Width" Value="30" />
</Style>
<Style x:Key="TxtClmn" TargetType="DataGridColumnHeader">
<Setter Property="Width" Value="*" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridCheckBoxColumn HeaderStyle="{StaticResource CbClmn}" />
<DataGridTextColumn Header="Title" HeaderStyle="{StaticResource TxtClmn}" />
<DataGridCheckBoxColumn Header="Selected" HeaderStyle="{StaticResource CbClmn}" />
</DataGrid.Columns>
</DataGrid>
样式TxtClmn
生成异常'*' string cannot be converted to Length
。
答案 0 :(得分:1)
查看对象浏览器:
//DataGridColumn
public System.Windows.Controls.DataGridLength Width { set; get; }
//DataGridColumnHeader
public double Width { set; get; }
这就是你不能那样做的原因。这是双重类型。