Я пытаюсь установить привязку ленты для динамического меню.
<ribbon:Ribbon>
<ribbon:RibbonTab Header="Reports"
ItemsSource="{Binding ReportMenus}"
ItemTemplate="{StaticResource RibbonGroupDataTemplate}">
</ribbon:RibbonTab>
<ribbon:RibbonTab Header="Test">
<ribbon:RibbonGroup Header="TestGROUP"
ItemsSource="{Binding ReportMenus}"
ItemTemplate="{StaticResource RibbonButtonDataTemplate}">
</ribbon:RibbonGroup>
</ribbon:RibbonTab>
</ribbon:Ribbon>
Верхняя вкладка ленты - моя «настоящая» лента.Дно началось с ручной сборки, с которой я проверяю свои теории.
Вот шаблоны данных, которые я пытаюсь использовать:
<Style TargetType="{x:Type ribbon:RibbonButton}">
<Setter Property="Label"
Value="{Binding ReportDisplayName}" />
</Style>
<DataTemplate x:Key="RibbonButtonDataTemplate">
<ribbon:RibbonButton />
</DataTemplate>
Это моя первая попытка создания группового шаблона данных.:
<HierarchicalDataTemplate x:Key="RibbonGroupDataTemplate" DataType="{x:Type Ribbon:RibbonGroup}"
ItemsSource="{Binding Converter={StaticResource DebugConverter}}"
ItemTemplate="{StaticResource RibbonButtonDataTemplate}">
<TextBlock Text="{Binding Path=ReportDisplayName}" />
</HierarchicalDataTemplate>
Тогда я попробовал это:
<DataTemplate x:Key="RibbonGroupDataTemplate">
<ribbon:RibbonGroup ItemsSource="{Binding Converter={StaticResource DebugConverter}}"
ItemTemplate="{StaticResource RibbonButtonDataTemplate}" />
</DataTemplate>
Проблема в том, что я не могу заставить кнопки отображаться в группе.Если у меня нет группового шаблона, как на моем втором ленточном вкладке, я могу заставить его работать.Но если я попытаюсь создать группу динамически, она не сможет создать кнопки.Кроме того, делая табличку с ребристой группой внутри нее, заголовки обрезаются.Я уже читал об этом, и это было причиной для попытки использовать HierarchicalDatatemplate.Обычная таблица данных не позволяет использовать источник элементов или шаблон элемента.
Итак, как мне получить динамическую группу лент для отображения динамических кнопок ленты?
Я уже внес некоторые другие изменения и, по крайней мере,заполнение, но это не правильно.
Прямо сейчас это выглядит так: ![alt text](https://i.stack.imgur.com/W5w65.png)
Я хочу, чтобы это выглядело как частично закодированное.![alt text](https://i.stack.imgur.com/hZP2P.png)
вот xaml
<DataTemplate x:Key="RibbonButtonDataTemplate">
<ribbon:RibbonButton />
</DataTemplate>
<HierarchicalDataTemplate x:Key="RibbonGroupDataTemplate"
DataType="{x:Type ribbon:RibbonGroup}"
ItemsSource="{Binding ReportsMenuCollection}"
ItemTemplate="{StaticResource RibbonButtonDataTemplate}">
<TextBlock Text="{Binding Path=ReportDisplayName}" />
</HierarchicalDataTemplate>
Единственное, что мне осталось попробовать, - это заменить мой RibbonButtonDataTemplate на иерархический шаблон данных.