2011-01-21 1 views
2

Кто-нибудь знает, как выкинуть AutoCompleteBox, чтобы увидеть все значения, не догадываясь о записи и начав печатать.Silverlight AutoCompleteBox

Я знаю, что я мог бы использовать ComboBox, но в форме ввода данных, где пользователю нужно ввести много информации, для пользователя предпочтительнее подобрать мышку как можно меньше, и поэтому я хотел использовать AutoCompleteBox , Однако в небольших списках также полезно быстро напомнить о вариантах, которые вы могли бы сделать в комбинации со стрелкой вверх/вниз.

Я видел несколько примеров сочетания функциональности двух элементов управления в один, и я могу идти таким образом, но задавался вопросом, есть ли более простой способ.

+0

Насколько велик ваш небольшой список? Например. Если у вас есть только дюжина вариантов - скажем, месяцев в году ... Тогда, скорее всего, будет более подходящим список выпадающих списков. – scunliffe

ответ

2

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

XAML

<sdk:AutoCompleteBox IsTextCompletionEnabled="True" MinimumPrefixLength="0" GotFocus="AutoComplete_GotFocus" /> 

Код За

private void AutoComplete_GotFocus(object sender, RoutedEventArgs e) 
{ 
    AutoCompleteBox box = (AutoCompleteBox)sender; 
    box.IsDropDownOpen = true;   
}