我在App ResourceDictionary中定义了一个HierarchicalDataTemplate。如果我在XAML中设置ItemsSource属性,TreeView的外观和行为将按预期进行。但是,如果我在代码中将DataTemplate设置为此对象,则从XAML中删除ItemsSource值,而不是在代码中设置它(如下例所示),它将被忽略,树节点不显示任何子节点。为什么会这样,我该如何解决它呢?
var node = item as Node;
var template = App.Current.Resources["NodePresenterTemplate"] as HierarchicalDataTemplate;
template.ItemsSource = node.ChildNodes; // ignored in Silverlight, works in WPF
return template;