Ok I found the problem(s).
As John Bowen sait, the first problem are the event handlers wich can't be processed. The second problem is that the main namespace is missing in the xaml.
So this code works:
string template = "<HierarchicalDataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" ItemsSource=\"{Binding Items}\">" +
"<CheckBox Tag=\"{Binding Champ1}\" >" +
"<CheckBox.Template>" +
"<ControlTemplate>" +
"<TextBlock Background=\"{Binding Path=Background," +
"RelativeSource={RelativeSource AncestorType=CheckBox}}\"" +
" Text=\"{Binding Champ1}\" />" +
"</ControlTemplate>" +
"</CheckBox.Template>" +
"</CheckBox>" +
" </HierarchicalDataTemplate>";
this.ItemTemplate = (DataTemplate)XamlReader.Parse(template);