The 27-year-old, who made 159 appearances at Wolves and scored 12 goals, started his career with Anderlecht and played for Belgium at the 2018 World Cup.
"I'm very excited to have signed for Villa," he told avfc.co.uk.
"It's a new challenge for me. I'm really excited to be here and I've already been shown around the training ground.
"I can feel that this a big club, you can just feel it. I obviously know the players from playing against them, and I know it's a very good team with good players.
"I'm really happy to be here."
Dendoncker scored the winner when Wolves played Aston Villa in June 2020.
"There's always a great atmosphere there.
"I've obviously scored against you guys before and hopefully I'll be able to score for us now.
"I'll give my best to try and help the team as much as I can.
"It's a big stadium with good fans and I'm really excited to get started."