WPF Datagrid 显示额外的列

WPF Datagrid showing extra column

我的网格显示了一个额外的列。 有谁可以帮助我吗?我有两列。文档名称和文档日期。显示的第三列是什么?数据源有四个属性。我需要 2 个。

此外,当网格首次加载时,我如何突出显示第一行

 <Grid   VerticalAlignment="Stretch" Focusable="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="500" ></ColumnDefinition>
        <ColumnDefinition Width="6"></ColumnDefinition>
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <GridSplitter Grid.Column="1" Grid.RowSpan="1" HorizontalAlignment="Center" VerticalAlignment="Stretch"  
                  BorderBrush="DarkSlateGray" BorderThickness="1" Width="6" ShowsPreview="True"  >
        <GridSplitter.Background>
            <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                <GradientStop Color="#FF808385" Offset="0"/>
                <GradientStop Color="#FFECF1F7" Offset="1"/>
            </LinearGradientBrush>
        </GridSplitter.Background>
    </GridSplitter>
    <ScrollViewer Name="scrollViewer" PreviewMouseWheel="ScrollViewer_OnPreviewMouseWheel">
   
        <DataGrid Name = "dataGrid"   
                  SelectionChanged="ShowDocument"  AutoGenerateColumns="False"
                  PreviewMouseWheel="DataGrid_PreviewMouseWheel"   >

            <DataGrid.GroupStyle>

                <GroupStyle>
                    <GroupStyle.ContainerStyle>
                        <Style TargetType="{x:Type GroupItem}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type GroupItem}">
                                        <StackPanel>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock Text="{Binding Name}" />
                                               
                                            </StackPanel>
                                            <ItemsPresenter />
                                        </StackPanel>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </GroupStyle.ContainerStyle>
                </GroupStyle>
            </DataGrid.GroupStyle>
            
            <DataGrid.Columns>
                
                <DataGridTextColumn    Header = "Document Name" Binding = "{Binding Name, Mode=OneWay}" SortMemberPath="Name" />
                <DataGridTextColumn Header = "Document Date" Binding = "{Binding DocumentDate, StringFormat=\{0:d\}, Mode=OneWay}" SortMemberPath="DocumentDate" />
                
            </DataGrid.Columns>
        </DataGrid>


   </ScrollViewer>

您似乎需要允许网格中的第二列使用剩余的 space,如下所示:

<DataGridTextColumn Binding="{Binding DocumentDate, StringFormat=\{0:d\}, Mode=OneWay}"
                    Header="Document Date"
                    Width="*"
                    SortMemberPath="DocumentDate" />

另请参阅:

您还可以通过在 DataGrid 中设置 selected 索引来 select 第一行:

<DataGrid Name = "dataGrid"
          ...
          SelectedIndex="0"
          ...>