UWP DataGrid将焦点设置到单元格中

问题描述 投票:0回答:1

我想设置光标,然后开始对单元格的元素进行编辑。在WPF中很容易

dataGrid1.CurrentCell = new DataGridCellInfo(
    dataGrid1.Items[0], dataGrid1.Columns[3]);
dataGrid1.BeginEdit();

如何在UWP中执行相同的操作?

uwp datagrid
1个回答
0
投票

在uwp中,首先可以设置SelectedIndex和CurrentColumn来实现要设置焦点的单元格,然后使用BeginEdit方法进入编辑模式。此外,您需要预订DataGrid的PreparingCellForEdit事件,以确保将单元格的焦点转移到内部TextBox的焦点。例如:

。xaml:

<controls:DataGrid x:Name="dataGrid1" PreparingCellForEdit="dataGrid1_PreparingCellForEdit">
......
</controls:DataGrid>

。cs:

private void Button_Click(object sender, RoutedEventArgs e)
{
    dataGrid1.SelectedIndex = 0;
    dataGrid1.CurrentColumn = dataGrid1.Columns[3];
    dataGrid1.BeginEdit();
}

private void dataGrid1_PreparingCellForEdit(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridPreparingCellForEditEventArgs e)
{
    if (e.EditingElement is TextBox textbox)
    {
        textbox.Focus(FocusState.Programmatic);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.