В коде я добавляю новую запись в сетку светового переключателя на экране деталей списка. Как установить фокус (поместить курсор) в третий столбец нижней строки (только что добавленная запись)?
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? }); }
Джбергер прав, но я не был уверен в синтаксисе. Посмотрев некоторые сайты Silverlight, я обнаружил, что это работает:
budgetGrid.CurrentColumn = budgetGrid.Columns[2];
Довольно просто в ретроспективе!