private void buttonDocument_Click(object sender, RoutedEventArgs e) { try { DataGridRow row = DataGridUtils.FindVisualParent <DataGridRow>(e.OriginalSource as UIElement); if (null != row) { RevitRevision revision = row.Item as RevitRevision; if (null != revision) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = "Open a Revision Document"; openFileDialog.Filter = "All files (*.*)|*.*"; if ((bool)openFileDialog.ShowDialog()) { string fileName = openFileDialog.FileName; if (File.Exists(fileName)) { int index = rvtSheetData.Revisions.IndexOf(revision); RevisionDocument revisionDoc = revision.Document; revisionDoc.Path = fileName; revisionDoc.Title = System.IO.Path.GetFileName(fileName); if (revisionDoc.Id == Guid.Empty) { revisionDoc.Id = Guid.NewGuid(); this.RvtSheetData.Revisions[index].Document.Id = revisionDoc.Id; } this.RvtSheetData.Revisions[index].Document.Path = revisionDoc.Path; this.RvtSheetData.Revisions[index].Document.Title = revisionDoc.Title; bool databaseUpdated = SheetDataWriter.UpdateRevisionDocument(revision, revisionDoc); } } } } } catch (Exception ex) { string message = ex.Message; } }