数据网格行对齐错误

发布于 2025-01-01 07:45:16 字数 3312 浏览 2 评论 0原文

我在使用 WPF Datagrid 时遇到奇怪的行为。正如您在附图中所看到的,有时会出现一行显示的“对齐方式”错误。

Wrong Alignment

这是我的 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".

Wrong 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

反话 2025-01-08 07:45:16

删除属性 HeadersVisibility="Column" 并使用 RowHeaderWidth = 0 代替

Remove the property HeadersVisibility="Column" and use RowHeaderWidth = 0 instead

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文