Lightswitch: установить фокус на ячейку в сетке данных - PullRequest
0 голосов
/ 31 марта 2012

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

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?
      });
 }

1 Ответ

1 голос
/ 06 апреля 2012

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

    budgetGrid.CurrentColumn = budgetGrid.Columns[2];

Довольно просто в ретроспективе!

...