【发布时间】:2020-01-27 12:28:00
【问题描述】:
我有这样的DataGrid
为了自动获取订单号,我在DataGrid方法中添加了LoadingRow这样的方式
.xalm
...
<DataGrid ItemsSource="{Binding Path=GridItems}"
HorizontalGridLinesBrush="Gray"
RowHeaderWidth="20"
LoadingRow="Dg_main_configuration_LoadingRow"
CanUserReorderColumns="False"
CanUserDeleteRows="False"
CanUserResizeRows="False"
CanUserSortColumns="False"
VerticalGridLinesBrush="LightGray"
x:Name="Dg_main_configuration"
CanUserResizeColumns="False"
PreviewMouseLeftButtonUp="Dg_main_configuration_PreviewMouseLeftButtonUp"
AlternatingRowBackground="LightYellow"
CanUserAddRows="False"
MinHeight="350"
MaxHeight="350"
Grid.Column="0"
AutoGenerateColumns="False">
...
在代码中
private void Dg_main_configuration_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = (e.Row.GetIndex() + 1).ToString();
}
一切都很好,但无论如何我想调整这一行列
问题是:
- 您可以在屏幕截图中看到
Path to clip folder(左侧)右下角有一个带有矩形的单元格,实际上它是一种按钮(因为我可以点击它,但没有任何改变),如何禁用它,或设置符号如#? - 数字
1, 2, 3, 4水平不在中心,如何解决? - 最后是 - 你可以看到有一个水平线
DarkGray分隔行,但我不知道为什么数字不包括这个单独的行?我的意思是行在数字列之后开始。如何在订单号中也包含单独的行?
【问题讨论】:
-
额外的列而不是行标题怎么样?像这样:stackoverflow.com/a/15061668/1136211
-
也许只是
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>在 DataGrid 中设置了较大的 AlternationCount 值。 -
@Clemens 看起来可行。但是如何设置对齐方式(垂直和水平)?
-
通过 DataGridTemplateColumn 中的适当 CellTemplate
-
@Clemens 可以看看这个问题stackoverflow.com/q/59933150/5709159