private void RenameItemThreaded(object state) { object[] objs = state as object[]; ViewNode node = objs[0] as ViewNode; string newName = objs[1] as string; IEditSchemaProvider provider = (IEditSchemaProvider)node.View.SchemaProvider; if (provider.IsValidName(newName)) { provider.RenameView(node.View, newName); node.Refresh(); } else { DispatchService.GuiDispatch(delegate() { MessageService.ShowError(String.Format( "Unable to rename view '{0}' to '{1}'!", node.View.Name, newName )); }); } node.Refresh(); }