代码之家  ›  专栏  ›  技术社区  ›  DotNetSpartan

如何在datagrid中绑定到数据表的空行的第一个单元格上设置光标

  •  5
  • DotNetSpartan  · 技术社区  · 6 年前

    我有一个绑定到datatable的datagrid。我想知道——我们如何在绑定到datatable的datagrid的空行的第一个单元格中显示光标闪烁。此外,当用户通过按enter键将新的空行添加到此datatable/datagrid时,光标应在新添加的空行的第一个单元格上闪烁。

    这是目前显示的UI,但用户可能不知道在哪里插入值,因为最后一个空行上没有光标闪烁。

    enter image description here

    以下是代码:

    看法xaml

    <DataGrid x:Name="MyGrid" ItemsSource="{Binding MyDataTable, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"   
                              VerticalAlignment="Top"                           
                              Height="400"
                              Width="Auto"
                              SelectionMode="Single"                        
                              AutoGenerateColumns="True"
                              GridLinesVisibility ="Vertical"
                              Background="Transparent"
                              CanUserResizeColumns="True"
                              CanUserReorderColumns="False"
                              CanUserResizeRows="False"                
                              BorderThickness="0" 
                              CanUserAddRows="True" 
                              RowHeaderWidth="0">                                                  
    </DataGrid>
    

    ViewModel。反恐精英

    private DataTable _MyDataTable;
    
    public DataTable MyDataTable
    {
        get { return _MyDataTable; }
        set { SetProperty(ref _MyDataTable, value); }
    }
    
    1 回复  |  直到 3 年前
        1
  •  3
  •   Dragos Bursacovschi    6 年前

    你所说的“设置闪烁光标”被称为对焦(当文本框对焦时,它将显示闪烁的插入符号;当按钮对焦时,回车键将触发它的点击等)

    下面是一篇详细的文章,其中有多个示例介绍了如何在数据网格中聚焦行/单元格: https://social.technet.microsoft.com/wiki/contents/articles/21202.wpf-programmatically-selecting-and-focusing-a-row-or-cell-in-a-datagrid.aspx