Страницы

Поиск по вопросам

среда, 20 февраля 2019 г.

RibbonCombobox Пример из MSDN работает иначе

Здравствуйте!
В момент изучения Ribbon в WPF параллельно читаю MSDN, и выдернул пример по работе с Combobox, однако у меня откуда-то скроллинг отображается. Хотя пример из MSDN полный copy*past.
https://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribboncombobox(v=vs.100).aspx
В чем причина?
Ожидаемый результат (из MSDN):
В итоге получил:
Исходный код XAML:

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


Ответ

Достаточно интересный вопрос касаемо примера с MSDN, и вот что получил в результате поиска решения вопроса: если набросать обычный пример, взятый с MSDN - RibbonComboBox, то действительно получаем именно то, что у Вас в результате - отображается скролл и выбранный элемент под курсором не подсвечивается на всю ширину. Эти две проблемы я смог решить так:

Чтобы убрать Scroll из выпадающего списка достаточно добавить в свойства RibbonGallery пункт, выключающий скролл:
ScrollViewer.VerticalScrollBarVisibility="Disabled"

Заметил, что ширина подсветки выбранного элемента - это максимальная ширина текста в списке. С отображением подсветки выбранного элемента на всю ширину эстетически красивого решения увы не нашел, но могу предложить два способа решения этого вопроса.
Самый простой способ - это задать ширину у одного из элементов списка:

Ну и второй способ, через задание стиля для типа RibbonGalleryItem у элемента RibbonGalleryCategory вот так:

Какой код видим в результате у RibbonComboBox

Ну и соответствующее изображение, полученное на форме:

С отображением подсветки выбранного элемента на всю ширину не самое лучшее решение, думаю, можно и лучше сделать, но для наброска и временного решения вполне применимо, думаю. Что касается MSDN - не всегда то, что там есть соответствует действительности, но это бывает не часто, тем более, что этой странице уже достаточно много лет, учитывая, что это для Visual Studio 2010, может быть что-то изменилось с момента публикации страницы, вышли обновления, поменялись значения по умолчанию.

Комментариев нет:

Отправить комментарий