Я определил HierarchicalDataTemplate в приложении ResourceDictionary. Если я установлю свойство ItemsSource в XAML, TreeView будет выглядеть и вести себя как положено. Однако, если я установлю DataTemplate для этого объекта в коде, удалите значение ItemsSource из XAML и вместо этого установите его в коде (как в следующем примере), оно будет проигнорировано, и узлы дерева не будут иметь дочерних элементов. Почему это так и как мне обойти это?
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;