数据网格行对齐错误
我在使用 WPF Datagrid 时遇到奇怪的行为。正如您在附图中所看到的,有时会出现一行显示的“对齐方式”错误。
这是我的 Datagrid 的 XAML 代码:
<DataGrid Name="DataGridDocs" Margin="10" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="True" FontSize="15" IsReadOnly="True" HeadersVisibility="Column" AlternatingRowBackground="#FF3CC4A9">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="Bold"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem x:Name="menuSelezionaTutti" Header="Seleziona Tutti" Click="menuSelezionaTutti_Click" FontSize="15" />
<MenuItem x:Name="menuDeselezionaTutti" Header="Annulla Selezione" Click="menuDeselezionaTutti_Click" FontSize="15" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalAlignment="Center">
<CheckBox Name="CheckBoxSelected" IsChecked="{Binding Path=SELECTED, Mode=Default, UpdateSourceTrigger=PropertyChanged}" />
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Path=DOCUMENT_ID}" Header="ID" />
<DataGridTextColumn Binding="{Binding Path=DESCR}" Header="TIPOLOGIA" />
<DataGridTextColumn Binding="{Binding Path=COGNOME}" Header="COGNOME" />
<DataGridTextColumn Binding="{Binding Path=NOME}" Header="NOME" />
<DataGridTextColumn Binding="{Binding Path=DATA}" Header="DATA" />
<DataGridTextColumn Binding="{Binding Path=FILENAME}" Header="FILE" />
<DataGridTextColumn Binding="{Binding Path=COD_PRATICA}" Header="CODICE PRATICA" />
<DataGridTextColumn Binding="{Binding Path=COD_CARTA}" Header="CODICE CARTA" />
<DataGridTextColumn Binding="{Binding Path=COD_IVA}" Header="CODICE IVA" />
<DataGridTextColumn Binding="{Binding Path=COD_CLIENTE}" Header="CODICE CLIENTE" />
<DataGridTextColumn Binding="{Binding Path=COD_DOCUMENTO}" Header="CODICE DOCUMENTO" />
<DataGridTextColumn Binding="{Binding Path=DOCUMENT_ID}" Header="DOCUMENT_ID" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding Path=FOLDER}" Header="FOLDER" Visibility="Hidden" />
</DataGrid.Columns>
</DataGrid>
I am experiencing a strange behaviour using WPF Datagrid. As you can see in the attached pics the sometimes happens that a row is displayed with a bad "alignment".
Here is the XAML Code of my Datagrid:
<DataGrid Name="DataGridDocs" Margin="10" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="True" FontSize="15" IsReadOnly="True" HeadersVisibility="Column" AlternatingRowBackground="#FF3CC4A9">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="Bold"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem x:Name="menuSelezionaTutti" Header="Seleziona Tutti" Click="menuSelezionaTutti_Click" FontSize="15" />
<MenuItem x:Name="menuDeselezionaTutti" Header="Annulla Selezione" Click="menuDeselezionaTutti_Click" FontSize="15" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalAlignment="Center">
<CheckBox Name="CheckBoxSelected" IsChecked="{Binding Path=SELECTED, Mode=Default, UpdateSourceTrigger=PropertyChanged}" />
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Path=DOCUMENT_ID}" Header="ID" />
<DataGridTextColumn Binding="{Binding Path=DESCR}" Header="TIPOLOGIA" />
<DataGridTextColumn Binding="{Binding Path=COGNOME}" Header="COGNOME" />
<DataGridTextColumn Binding="{Binding Path=NOME}" Header="NOME" />
<DataGridTextColumn Binding="{Binding Path=DATA}" Header="DATA" />
<DataGridTextColumn Binding="{Binding Path=FILENAME}" Header="FILE" />
<DataGridTextColumn Binding="{Binding Path=COD_PRATICA}" Header="CODICE PRATICA" />
<DataGridTextColumn Binding="{Binding Path=COD_CARTA}" Header="CODICE CARTA" />
<DataGridTextColumn Binding="{Binding Path=COD_IVA}" Header="CODICE IVA" />
<DataGridTextColumn Binding="{Binding Path=COD_CLIENTE}" Header="CODICE CLIENTE" />
<DataGridTextColumn Binding="{Binding Path=COD_DOCUMENTO}" Header="CODICE DOCUMENTO" />
<DataGridTextColumn Binding="{Binding Path=DOCUMENT_ID}" Header="DOCUMENT_ID" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding Path=FOLDER}" Header="FOLDER" Visibility="Hidden" />
</DataGrid.Columns>
</DataGrid>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
删除属性 HeadersVisibility="Column" 并使用 RowHeaderWidth = 0 代替
Remove the property HeadersVisibility="Column" and use RowHeaderWidth = 0 instead