I dont know about binding two columns but I wouldn't create DataTemplates in c# (its depreciated and a pain in the butt).
I found a faster easier more natural way.
Add a WPF XAML Resource Dictionary to your project then in your c# set the column like so
var myResourceDictionary = new MyResourceDictionary();
column.CellContentTemplate = myResourceDictionary["DataTemplateKey"];
The beauty is that the XAML ResourceDictionary has its own CodeBehind too. Very Reuseable. Very Dynamic.
I have 20 Cell DataTemplates and CellEditors in my ResourceDictionary useable anywhere I need them.