“We’re going to do everything we can to bring the individuals who were involved in this to justice. This should not be happening anywhere,” Richmond Mayor Levar Stoney said.
In addition to the seven wounded by gunfire, at least two other people arrived at local hospitals with injuries other than gunshots, Mr Edwards said.
Richmond Public Schools said in a message on its website that the shooting took place in Monroe Park, which is across the street from the theatre and adjacent to the college campus, after a graduation ceremony for Huguenot High School.
School board member Jonathan Young told Richmond TV station WWBT that graduates and other attendees were exiting the theatre when they heard about 20 gunshots in rapid succession.
“That prompted, as you would expect, hundreds of persons in an effort to flee the gunfire to return to the building,” Mr Young said. “It materialised in a stampede.”
As he heard the gunshots and then sirens, neighbour John Willard, 69, stepped onto the balcony of his 18th-floor apartment to see what was happening below. He saw students fleeing in their graduation outfits and parents hugging children.
“There was one poor woman in front of the apartment block next to ours who was wailing and crying,” Mr Willard said, adding that the scene left him deeply saddened.
Edythe Payne was helping her daughter sell flowers outside the theatre to students as they left the ceremony. She told the Richmond Times-Dispatch that the shooting caused a panic on nearby Main Street, which was packed with people at the time.
“I felt bad because some elderly people were at the graduation and they got knocked down to the ground,” Ms Payne said.
The school district said a different graduation scheduled for later on Tuesday had been cancelled “out of an abundance of caution” and that schools would be closed on Wednesday.