The six-year deal is worth $30 million, a source told ESPN.com's Pierre LeBrun.
The 26-year-old had 11 goals and 38 assists in 82 games with the Canucks last season.
Edler has spent his entire career with Vancouver after being drafted 91st overall in the 2004 draft.
He was set to become an unrestricted free agent in the summer.
Edler has 43 goals, 141 assists and 200 penalty minutes in 386 career NHL games since making his debut in the 2006-07 season.
Edler has also been effective for Vancouver in the postseason, with seven goals and 20 assists in 55 playoff games.
The Canucks open the lockout-shortened season Saturday night at home against the Anaheim Ducks.
Information from ESPN.com's Pierre LeBrun and The Associated Press was used in this report.