Я пытаюсь привязать ленту управления динамическими меню.Здание wpf Лента во время выполнения
<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>
Верхняя ленточная вкладка является моей «настоящей» ребертаброй. Дно начиналось как вручную построенное, с которым я проверяю свои теории.
Вот DataTemplates я пытаюсь использовать:
<Style TargetType="{x:Type ribbon:RibbonButton}">
<Setter Property="Label"
Value="{Binding ReportDisplayName}" />
</Style>
<DataTemplate x:Key="RibbonButtonDataTemplate">
<ribbon:RibbonButton />
</DataTemplate>
Это моя первая попытка в группе 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>
Проблема в том, что я не могу получить кнопки для отображения под группой. Если у меня нет группового шаблона, как в моем втором ребрантабе, я могу заставить его работать. Но если я попытаюсь сделать группу динамически, она не сможет создать кнопки. Кроме того, выполняя таблицу данных с группой ribbongroup внутри нее, заголовки обрезаются. Я уже читал об этом, и именно поэтому я пытался использовать HierarchicalDatatemplate. В Regular Datatemplate не предусмотрен элемент itemsource или itemtemplate.
Итак, как мне получить динамическую RibbonGroup для отображения динамических кнопок Ribbon?
Я внедрил некоторые другие изменения сейчас и, по крайней мере, заполнил его, однако его не правильно.
Прямо сейчас это выглядит следующим образом:
Я хочу, чтобы это выглядело, как это который частично жёстко.
здесь является 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 иерархическому DataTemplate.
Можете ли вы показать мне пример? Я использую только одну объединенную таблицу для создания структур ... id, parentid, reportname; если parentid = id, то его группа, в противном случае это дочерний элемент любого родительского ... – ecathell
nm ... я перешел в другой проект, над которым я работал с иерархическими данными папок и деревом. Я должен изменить, как я работаю с корневым объектом – ecathell
на самом деле обычный шаблон данных и стили работают просто отлично ... просто убедитесь, что вы максимизируете свое окно, чтобы вы могли видеть все правильно :) – ecathell