Итак, у меня DataGrid
с DataContext
, установленным на DataTable
, и загружается через FillJobsGrid()
при Window_Loaded
. Это работает нормально, но я хотел иметь возможность выбрать определенный элемент при запуске через командную строку, часть args работает без проблем, только 2 args с переключателем и значением. Значение - это идентификатор строки в JobsGrid
, что я не вижу, как выбрать эту строку. перед запуском BackUpSelectedClicked()
Для вдохновения среди многих других страниц я посмотрел здесь , но как бы я ни подходил к этому, у меня никогда не было datagrid.Items.count
. Я предполагаю, что это событие, из которого запускается мой код. Перед модом у меня было:
private void FillJobsGrid()
{
using (MySqlClientWrapper db = new MySqlClientWrapper(MyConnString))
{
string sql = "SELECT * FROM backupjobs";
SetJobsTable(db.GetDataTable(sql));
JobsGrid.DataContext = GetJobsTable();
}
}
Код, который я надеялся выполнить, был:
if (RunFromCommandLine)
{
foreach (DataRowView job in JobsGrid.Items)
{
if (job != null)
{
DataRow jobRow = job.Row;
long id = Convert.ToInt32(jobRow["Id"]);
if (Convert.ToInt32(CommandLineJobId) == id)
{
JobsGrid.SelectedItem = job;
}
}
}
BackUpSelectedClicked();
}
Я попытался вставить его в FillJobsGrid
и поместить в DataGrid.DataContextChanged
, Initialised
, Loaded
и т. Д. Любая помощь приветствуется.