GroupSizeDefinition не работает со стилем, определенным для группы ленты - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть основной список, который является группой лент. Внутри каждой группы ленты есть другой список, называемый подфункциями для кнопок ленты.

<DataTemplate x:Key="buttonTempl">
                <RibbonButton IsEnabled="{Binding IsEnabled}" Label="{Binding Path=SubFunctionName}" Command="{Binding SubFunctionCommand}" LargeImageSource="{Binding LargeButtonImage}" SmallImageSource="{Binding SmallButtonImage}"/>
            </DataTemplate>
            <RibbonGroupSizeDefinitionBaseCollection x:Key="groupSize">
                <RibbonGroupSizeDefinition IsCollapsed="False" />
            </RibbonGroupSizeDefinitionBaseCollection>
            <Style TargetType="RibbonGroup" x:Key="groupStyle">
                <Setter Property="GroupSizeDefinitions" Value="{StaticResource groupSize}"/>
                <Setter Property="Header" Value="{Binding DisplayName}"/>
                <Setter Property="ItemsSource" Value="{Binding SubFunctions}"/>
                <Setter Property="ItemTemplate" Value="{StaticResource buttonTempl}"/>
                <Setter Property="SmallImageSource" Value="{Binding RibbonGroupSmallImageSource}"/>
                <Setter Property="Margin" Value="0"/>
            </Style>
            <Style TargetType="RibbonTab" x:Key="tabStyle">
                <Setter Property="Header" Value="Pump"/>
                <Setter Property="ItemsSource" Value="{Binding MainFunctions}"/>
                <Setter Property="ItemContainerStyle" Value="{StaticResource groupStyle}"/>
            </Style>

Следовательно, groupSizedefinition работает, если я использую ribbongroup как отдельное, как показано ниже: <RibbonGroup Header="Selection" Name="SelectionMenu" GroupSizeDefinitions="{StaticResource groupSize}"> , но не работает с приведенным выше кодом, который с шаблоном .

Что можно сделать для работы определения определения размера группы с ребро-группой, определенной как стиль?

1 Ответ

0 голосов
/ 23 февраля 2020

Это не совсем ответ, но это слишком много для комментария.

Я попытался воспроизвести эту проблему и наблюдал следующие эффекты, используя "Live Visual Tree" и "Live Property Explorer" windows в отладчике.

Явное указание GroupSizeDefinitions

<RibbonGroup Style="{StaticResource groupStyle}" GroupSizeDefinitions="{StaticResource groupSize}" />

Вычеркнуто GroupSizeDefinitions в стиле, и используется локальное определение

enter image description here

Указание GroupSizeDefinitions в стилях

<RibbonGroup Style="{StaticResource groupStyle}"/>

Проводник свойств Live показывает локальное определение, которое в Мое мнение отсутствует, также вычеркнуто.

Фактические определения GroupSize, которые фактически используются, находятся под заголовком Принуждение .

enter image description here

Боюсь, что не могу этого объяснить, но, может быть, кто-то другой сможет.

...