Контроль уровня элемента над размерами элемента ленты с использованием ленты WPF (для .NET 4) и RibbonControlSizeDefinition - PullRequest
6 голосов
/ 22 декабря 2011

Согласно документации MSDN , лента: RibbonControlSizeDefinition может использоваться для управления размером элемента на ленте WPF путем установки свойства ControlSizeDefinition.Кто-нибудь имел какой-либо успех, используя это свойство?Я считаю, что это полностью игнорируется.Сначала я установил его с помощью привязки данных, но также попытался использовать код, стоящий за файлом.

Этот вопрос похож, но он правильно отмечен в одном из комментариев, которые использовал ОПRibbonControlGroup, и поэтому видел ожидаемое поведение.

Я понимаю, что обычно лучше всего позволить ленте делать свои собственные вещи в отношении размера.К сожалению, это не вариант для этого проекта.

Я перечислил часть моего кода XAML, которая не работает ниже.

    <ribbon:RibbonTab Header="MyTab">
        <ribbon:RibbonGroup Header="MyGroup">
            <ribbon:RibbonButton Label="My big button" Name="BigButton"
                                 LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"
                                 SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
            </ribbon:RibbonButton>
            <ribbon:RibbonButton Label="My little button" Name="SmallButton"
                                 LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"
                                 SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
            </ribbon:RibbonButton>
        </ribbon:RibbonGroup>
    </ribbon:RibbonTab>

1 Ответ

6 голосов
/ 22 декабря 2011

После некоторых экспериментов у меня есть обходной путь.Я попытался использовать размер группы на уровне вместо размера на уровне элемента, используя свойство ленты: RibbonGroup.GroupSizeDefinitions.Это работает как задокументировано.Кроме того, для установки свойств уровня элемента достаточно установить пустое значение RibbonGroupSizeDefinition.Мой код сверху становится:

<ribbon:RibbonTab Header="MyTab">
     <ribbon:RibbonGroup Header="MyGroup">

            <ribbon:RibbonGroup.GroupSizeDefinitions>
                <ribbon:RibbonGroupSizeDefinition>
                </ribbon:RibbonGroupSizeDefinition>
            </ribbon:RibbonGroup.GroupSizeDefinitions>

         <ribbon:RibbonButton Label="My big button" Name="BigButton"                                  LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"                                  SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
         </ribbon:RibbonButton>
         <ribbon:RibbonButton Label="My little button" Name="SmallButton"                                  LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"                                  SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
         </ribbon:RibbonButton>
     </ribbon:RibbonGroup>
 </ribbon:RibbonTab> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...