我正在尝试加载失败的 xaml:
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<CheckBox Checked="CheckBox_Checked" Tag="{Binding Champ1}" Unchecked="CheckBox_Unchecked">
<CheckBox.Template>
<ControlTemplate>
<TextBlock Background="{Binding Path=Background, RelativeSource={RelativeSource AncestorType=CheckBox}}" Text="{Binding Champ1}" />
</ControlTemplate>
</CheckBox.Template>
</CheckBox>
</HierarchicalDataTemplate>
在我的树视图的构造函数中使用它:
string template = "<HierarchicalDataTemplate ItemsSource=\"{Binding Items}\">" +
"<CheckBox Checked=\"CheckBox_Checked\"" +
" Tag=\"{Binding Champ1}\"" +
" Unchecked=\"CheckBox_Unchecked\">" +
"<CheckBox.Template>" +
"<ControlTemplate>" +
"<TextBlock Background=\"{Binding Path=Background," +
"RelativeSource={RelativeSource AncestorType=CheckBox}}\"" +
"Text=\"{Binding Champ1}\" />" +
"</ControlTemplate>" +
"</CheckBox.Template>" +
"</CheckBox>" +
" </HierarchicalDataTemplate>";
this.ItemTemplate = (HierarchicalDataTemplate)XamlReader.Parse(template);
我收到此错误:
'Impossible de créer le type inconnu'HierarchicalDataTemplate'。numéro de ligne '1' 和 position de ligne '2'。
(我的机器是用法语配置的,这条消息的意思是:“无法创建未知类型的 HierarchicalDataTemplate”)。
有人知道为什么吗?当直接在 xaml 文件中编写时,xaml 片段可以完美运行。
谢谢 !
编辑
我用一个简单的版本进行了测试:
string template = "<HierarchicalDataTemplate ItemsSource=\"{Binding Items}\">" +
"<TextBox Text=\"Test\"/>"+
" </HierarchicalDataTemplate>";
问题是一样的。
编辑2
好的,问题更广泛,似乎与“HierarchicalDataTemplate”无关
string test = "<TextBox Text=\"Test\" />";
var ret = XamlReader.Parse(test);
产生同样的错误...