public PluginLib.IExternalControlData CreateEditorContent(string filePath) { DataGrid dg = new DataGrid(); dg.LoadingRow += dg_LoadingRow; DataTable table = DataTableBuilder.GetDataTabletFromCSVFile(filePath); CSVControlData ret = new CSVControlData(filePath, dg, table); // This is hokey, set Tag to be our control data dg.Tag = ret; // Handle the "CTRL+S" for save dg.CommandBindings.Add(new System.Windows.Input.CommandBinding( System.Windows.Input.ApplicationCommands.Save, //CTRL+S (sender, e) => { //Exectued DataTableBuilder.Write(table, table.TableName); ret.IsDirty = false; }, (sender, e) => { //CanExecute e.CanExecute = ret.IsDirty; })); table.TableName = filePath; dg.ItemsSource = table.AsDataView(); return(ret); }
public object CreateEditorContent(string filePath, out object userData) { DataGrid dg = new DataGrid(); dg.LoadingRow += dg_LoadingRow; DataTable table = DataTableBuilder.GetDataTabletFromCSVFile(filePath); table.TableName = filePath; dg.Tag = table; dg.ItemsSource = ((DataTable)dg.Tag).AsDataView(); table.RowChanged += table_RowChanged; table.RowDeleted += table_RowDeleted; table.TableNewRow += table_TableNewRow; userData = null; return(dg); }