Lightswitch: установите фокус на ячейку в сетке данных

В коде я добавляю новую запись в сетку Lightswitch на экране со списком деталей. Как установить фокус (поместить курсор) в третий столбец нижней строки (запись только что добавлена)?

public partial class JobsBudgetListDetail
{
      static DataGrid budgetGrid;
      partial void JobBudgetsAddNew_Execute()
{
      int jobID = Jobs.SelectedItem.JobID;
      int maxLineNo = 0;
      if (Jobs.SelectedItem.JobBudgets.Count() > 0)
            maxLineNo = this.DataWorkspace.ContractorData.JobBudgetsByDescLineNoForGivenJobID(jobID).FirstOrDefault().BudgetLineNo;

      JobBudget newBudget = this.DataWorkspace.ContractorData.JobBudgets.AddNew();
      newBudget.BudgetDate = this.propertyBudgetDate;
      newBudget.BudgetLineNo = maxLineNo + 10;
      newBudget.Job = Jobs.SelectedItem;
      Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() =>
      {
            // next line selects the row just added
            budgetGrid.SelectedIndex = JobBudgets.Count - 1;                    
            // now, how set focus to column 3 on this row?
      });
 }

person Voorge    schedule 30.03.2012    source источник
comment
устанавливает Свойство DataGrid.CurrentColumn работает?   -  person Jake Berger    schedule 04.04.2012


Ответы (1)


jberger прав, но я не был уверен в синтаксисе. Посмотрев на некоторые сайты Silverlight, я обнаружил, что это работает:

    budgetGrid.CurrentColumn = budgetGrid.Columns[2];

Оглядываясь назад, довольно просто!

person Voorge    schedule 05.04.2012
comment
Синтаксис .Columns [2] выделяет ячейку, но по-прежнему требует щелчка по ней, чтобы начать печатать. Любые идеи? - person Voorge; 06.04.2012