У меня есть следующий код в ServiceTree
контроля, который должен представить TreeView
услуг в ServiceGroup
:Почему мои данные TreeView не заполнены?
<Grid>
<TreeView ItemsSource="{Binding Services}" DataContext="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}" DataType="{x:Type businessService:BusinessService}">
<TreeViewItem Header="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Grid>
В верхнем уровне связывания, Services
является набор сервисов, который принадлежит к ServiceGroup
.
В главном окне, я использую следующие привязки данных для создания OdcExpander
из проекта Odyssey:
<ItemsControl.ItemTemplate>
<DataTemplate DataType="groups:ServiceGroup">
<odc:OdcExpander Header="{Binding UIMetadata.MenuText}" HeaderBackground="{Binding UIMetadata.MenuTabBackColor}">
<XTime900Shell:ServiceTree />
</odc:OdcExpander>
</DataTemplate>
</ItemsControl.ItemTemplate>
Это работает. Я получаю один расширитель, правильно привязанный к каждому ServiceGroup
, но в группах с услугами, то есть в группе «Сотрудники», есть место, где должно быть дерево, пропорциональное по высоте количеству услуг, которые оно должно показывать, поэтому оно является обязательным к свойству коллекции Services
и созданию элемента для каждой службы, но не отображая ничего для свойства «Имя» службы, которое, как я знаю, правильно заполнено.
вы получаете какие-либо обязательные в иных ошибки выходного окна? – Nitin