The Dallas Morning News reported the deal, signed Friday, contains a $6 million signing bonus.
"My client is very happy," Crayton's agent, Fred Lyles, told the newspaper. "He didn't consider the money. He considered his family for making his decision. He's a family person, and it means a lot to him. His wife, son and mother are very important to him because they live in Dallas."
The four-year veteran from Northwestern Oklahoma State is having a breakout season while subbing for Terry Glenn (knee), who may play for the first time this season Sunday at Washington.
Crayton is third on the team in receptions (48) and yards (689) this season, and has scored seven touchdowns.
He has spent his entire career with the Cowboys.