【问题标题】:Datagrid rows not aligned with column headers数据网格行未与列标题对齐
【发布时间】:2013-11-05 11:03:26
【问题描述】:

我和这个问题有同样的问题:

DataGrid column headers not aligned with data

我的窗口中有数据网格,但在滚动查看器内部。我要做的是将带有此数据网格的滚动查看器转移到另一个窗口。现在它可以正常工作了,但是我的数据网格在另一个窗口中没有正确对齐。 什么会导致这个问题? PS:如果您需要提供任何代码,请告诉我。

更新:

<ScrollViewer Grid.Row="1" Name="inputReportScrollViewer" Height="22cm" Width="19cm" HorizontalAlignment="Center" >

<Grid>
   <Grid.RowDefinitions>
     <RowDefinition Height="auto" />
   </Grid.RowDefinitions>

   <Grid Grid.Row="0">
                <DataGrid Name="InputReportDataGrid"  AutoGenerateColumns="False" CanUserAddRows="false" >
                    <DataGrid.ColumnHeaderStyle>
                        <Style TargetType="Control">
                            <Setter Property="FontSize" Value="10"/>
                        </Style>
                    </DataGrid.ColumnHeaderStyle>
                    <DataGrid.RowStyle>
                        <Style TargetType="Control">
                            <Setter Property="FontSize" Value="10"/>
                        </Style>
                    </DataGrid.RowStyle>
                    <DataGrid.Columns>
                        <!--<DataGridTextColumn Header="RedniBroj" />-->
                        <DataGridTextColumn Header="UCode" Binding="{Binding Path= tblGood.UCode}" />
                        <DataGridTextColumn Header="Good Name" Binding="{Binding Path= tblGood.Name}" />
                        <DataGridTextColumn Header="Measurement&#x0a; Unit" Binding="{Binding Path= tblGood.MeasurementUnit}" />
                        <DataGridTextColumn Header="Amount" Binding="{Binding Path= Amount, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Input Price" Binding="{Binding Path= InputPrice, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Input Value" Binding="{Binding Path= InputValue, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Suggested Price" Binding="{Binding Path= SuggestedPrice, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Suggested&#x0a; Value" Binding="{Binding Path= SuggestedValue, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Vat" Binding="{Binding Path= VatBase}" />
                        <DataGridTextColumn Header="Vat Value" Binding="{Binding Path= VatValue, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="Suggested&#x0a; Value&#x0a; Without&#x0a; Vat" Binding="{Binding Path= SuggestedValueWithoutVat, Converter={StaticResource moneyConverter}}" />
                        <DataGridTextColumn Header="RUC" Binding="{Binding Path= SuggestedValueWithoutVat, Converter={StaticResource moneyConverter}}" />
                    </DataGrid.Columns>
                </DataGrid>
            </Grid>
          </Grid>
</ScrollViewer>

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    尝试设置HeadersVisibility = None

    【讨论】:

    • 请发布您的 XAML。
    • @Stojdzaq 你说你已经尝试过了,但这并不是影响你对齐的原因..那你为什么除了答案?
    • 抱歉忘记发表评论了。我有一些坏包,所以我修好了它,它可以工作了。 Acctualy 我将 HeadersVisibillity 设置为“列”。谢谢。
    • 如果设置HeaderVisibility = None,只是去掉header,并不能解决问题。
    【解决方案2】:

    为列标题添加自定义样式

    <Style x:Key="{x:Type DataGridColumnHeadersPresenter}" TargetType="{x:Type DataGridColumnHeadersPresenter}">
        <Setter Property="Grid.ColumnSpan" Value="2" />
    </Style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多