static void EmulateEdit(dynamic grid, dynamic cell, string text)
 {
     EmulateActivate(grid, cell);
     grid.EnterEditMode();
     InvokeUtility.DoEvents();
     DependencyObject ctrl = grid.ActiveCell.Control;
     var textBox = ctrl.VisualTree().ByType<ComboBox>().Single();
     textBox.Text = text;
     grid.ExitEditMode(false);
 }
 static void EmulateEdit(dynamic grid, dynamic cell, bool? check)
 {
     EmulateActivate(grid, cell);
     grid.EnterEditMode();
     InvokeUtility.DoEvents();
     DependencyObject ctrl = grid.ActiveCell.Control;
     var checkBox = ctrl.VisualTree().ByType<CheckBox>().Single();
     checkBox.IsChecked = check;
     grid.ExitEditMode(false);
 }
 static void EmulateEdit(dynamic grid, dynamic cell, int index)
 {
     EmulateActivate(grid, cell);
     grid.EnterEditMode();
     InvokeUtility.DoEvents();
     DependencyObject ctrl = grid.ActiveCell.Control;
     var comboBox = ctrl.VisualTree().ByType<ComboBox>().Single();
     comboBox.SelectedIndex = index;
     grid.ExitEditMode(false);
 }
 static void EmulateEdit(dynamic tree, dynamic node, string text)
 {
     EmulateActivate(tree, node);
     tree.EnterEditMode(node);
     InvokeUtility.DoEvents();
     DependencyObject ctrl = node.Control;
     dynamic textBox = ctrl.VisualTree().ByType<TextBox>().Single();
     textBox.Text = text;
     tree.ExitEditMode(false);
 }