【问题标题】:Datagrid Row Wrong Alignment数据网格行错误对齐
【发布时间】:2012-02-24 01:56:06
【问题描述】:

我在使用 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>

【问题讨论】:

  • 我看到了同样的问题,但更多的是在调试中。如果我编译并运行 .exe,那么我从未遇到过问题。但作为开发人员,我不会经常运行 .exe。
  • 那我明天早上测试一下。

标签: c# .net wpf .net-4.0 wpfdatagrid


【解决方案1】:

删除属性 HeadersVisibility="Column" 并改用 RowHeaderWidth = 0

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 2014-04-05
    相关资源
    最近更新 更多