我在App ResourceDictionary中定义了HierarchycalDataTemplate。如果我在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;