Microsoft WPF Ribbon - группируйте кнопки как выпадающие кнопки - PullRequest
0 голосов
/ 02 марта 2011

Я реализовал ленту Microsoft WPF в приложении .NET для браузера WPF. Это довольно простой макет с вкладками, группами и кнопками в группах. Однако есть много групп и кнопок, и пользователи испытывают трудности с использованием ленты на небольших дисплеях. Некоторые из групп преобразуют кнопки в маленькие кнопки изображений без текста, который не нравится пользователям. Им нужно навести курсор на каждую кнопку, чтобы увидеть ее назначение. Другие группы полностью разрушаются и переходят в выпадающие кнопки. Это они хотят в качестве стандарта. Каждая группа должна быть представлена ​​как выпадающая кнопка по умолчанию и при нажатии на нее список пунктов в виде пунктов меню.

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

Может кто-нибудь помочь?

Кнопки динамически привязываются к ленте, как вкладки и группы.

Ответы [ 3 ]

4 голосов
/ 03 марта 2011

Есть ли причина, по которой RibbonMenuButton недостаточно?

    <r:RibbonMenuButton
        Label="Clicking"
        SmallImageSource=".."
        LargeImageSource="..">
            <r:RibbonMenuItem 
                Header="Click Me 1"
                ImageSource=".."/>
            <r:RibbonMenuItem 
                Header="Click Me 2"
                ImageSource=".."/>
            <r:RibbonMenuItem 
                Header="Click Me 3"
                ImageSource=".."/>
            <r:RibbonMenuItem 
                Header="Click Me 4"
                ImageSource=".."/>
    </r:RibbonMenuButton>
2 голосов
/ 02 марта 2011

Я думаю, что ваша проблема может быть не технической, а скорее концептуальной.

Если вы посмотрите рекомендации Microsoft по лентам , вы заметите, что ленты не обязательно являются лучшимивыбор, если у вас слишком много команд:

Большое количество команд?Для использования ленты потребуется более семи основных вкладок?Придется ли пользователям постоянно менять вкладки для выполнения общих задач? Если это так, использование панелей инструментов (для которых не требуется изменение вкладок) и окон палитры (которые могут потребовать смены вкладок, но их может быть несколько одновременно) можетбыть более эффективным выбором.

Возможно, вам следует рассмотреть возможность разделения групп команд на несколько вкладок, логически сгруппировав их так, чтобы действия, которые происходят вместе, часто оставались вместе, а действия, которые редко происходят вместе, включались.отдельные вкладки.Например, изменение размера страницы и полей останется вместе, в то время как изменение размера шрифта будет идти на отдельной вкладке.

Вы также можете рассмотреть возможность использования контекстных вкладок, которые будут отображаться только при определенных условиях и, следовательно, будут отображать только командысвязанные с тем, что пользователь делает в данный момент.

0 голосов
/ 02 июля 2013

Я понимаю, что это может быть слишком поздно для Майкла Смита, но это может помочь другим. Вы можете контролировать, какие кнопки будут отображаться в RibbonBar, когда они были изменены (внутренне с помощью панели). Вы можете использовать свойства RibbonGroup.GroupSizeDefinitions и RibbonTab.GroupSizeReductionOrder , чтобы определить способ отображения каждого RibbonGroup. См. Эту страницу Расположение и изменение размера ленты на MSDN для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...