Управляйте, как ListBox, но имеет кнопки для перемещения вверх и вниз по списку

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

Я надеялся, что есть способ создать ListBox или ComboBox чтобы снять это, но это кажется невозможным. Я рассмотрел использование слайдера, но мой список значений может иметь или не иметь пробелов (т.е. Может быть 150, 151, 153, 160,...).

Я могу приблизиться к ListBox, установив высоту, но при изменении прокрутки она не меняет SelectedIndex:

<listbox margin="5" verticalalignment="Center" horizontalalignment="Center">
 <listboxitem>1</listboxitem>
 <listboxitem>2</listboxitem>
 <listboxitem>3</listboxitem>
 <listboxitem>4</listboxitem>
 <listboxitem>5</listboxitem>
</listbox>

Таким образом, вы можете зацепить кнопки прокрутки, чтобы при нажатии кнопок я мог настроить индекс соответствующим образом? Вторичным вопросом было бы, есть ли возможность установить количество элементов для отображения в "ListBox" до добавления полос прокрутки вместо установки высоты?

2 ответа

Если вы используете WinForms, для этого есть элемент управления:

http://msdn.microsoft.com/en-us/library/system.windows.forms.numericupdown.aspx

Для WPF вы можете рассмотреть этот вопрос:

http://wpftoolkit.codeplex.com/wikipage?title=NumericUpDown&referringTitle=Home


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

licensed under cc by-sa 3.0 with attribution.