Я программирую интерактивный datagridview в WPF, пользователь может щелкать ячейки, вызывая изменение содержимого путем выбора из нескольких источников данных. Когда пользователь щелкает ячейку, запускается событие двойного щелчка по ячейке, например:
private TabItem item(..){
Table= new forms.DataGridView();
Table.DataSource = DataSource1(); //Default
Table.CellDoubleClick += delegate (object sender, forms.DataGridViewCellEventArgs args){
{
var senderGrid = (forms.DataGridView)sender;
//Depending on some conditions the user can switch to DataSource2(), DataSource3()
if(Condition 1)
senderGrid.DataSource = DataSource2();
}
До этого момента все работает, как задумано! Событие двойного щелчка по таблице переключает источники данных, как запрограммировано.
Теперь проблема возникает, когда я хочу обновить таблицу из триггера события Combo Box. Таблица остается без изменений, я полагаю, я неправильно обращаюсь к объекту.
//Still inside the same TabItem item(..)
newCombo.DropDownClosed += delegate (Object sender, EventArgs e)
{
ComboBox cmb = sender as ComboBox;
if(Condition)
Table.DataSource = DataSource2();
}
Есть ли способ управлять таблицей вне ее функций событий?