2017-01-12 13 views
0

Я использую RadComboBox в Silverlight. Я откуда-то получил данные привязки. Вопрос заключается в том, когда я нажимаю стрелку вниз, чтобы закрыть меню, но выбранный текст не фокусируется или не выделяется.Подскажите текст в RadComboBox, когда закройте меню

У меня есть LostFocus, DropDownOpened и SelectionChanged события для этого RadComboBox. Я положил код

System.Windows.Browser.HtmlPage.Plugin.Focus(); 
this.comboBox.Focus(); 

в любом из этих событий.

Но выбранный текст в выпадающем меню не может быть сфокусирован (освещен). Может быть, это не может быть достигнуто внутри его собственных событий?

EDIT:

Код:

<RadComboBox 
Grid.Column="2" 
Grid.Row="12" 
x:Name="fileLocDropDown" 
LostFocus="FileLocDropDown_LostFocus" 
KeyDown="FileLocDropDown_KeyDown" 
DropDownOpened="FileLocationDropDown_DropDownOpened" 
IsEditable="True" 
CanAutocompleteSelectItems="True" 
IsUpperCase="True" 
MaxDropDownHeight="600" 
IsTextSearchEnabled="True" 
Text="{Binding FileLocCode,Mode=TwoWay, Converter={StaticResource NullValueConverter},ConverterParameter='Text',NotifyOnValidationError=True}" 
MaxLength="3" 
SelectionChanged="FileLocDropDown_SelectionChanged" 
ItemsSource="{Binding FileLocList}"> 
<RadComboBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal" Background="LightYellow" > 
      <TextBlock Margin="4,0,4,0" HorizontalAlignment="Left" Text="{Binding FileLocCode}" Width="30" /> 
      <TextBlock Margin="4,0,4,0" HorizontalAlignment="Left" Text="{Binding FileLocName}" Width="150" /> 
     </StackPanel> 
    </DataTemplate> 
</RadComboBox.ItemTemplate> 

Изображение:

abc

+0

Что вы подразумеваете под «подсветкой» текста? Вы хотите, чтобы текст был выбран? (a.k.a. [сделать это синим] (http://thedailywtf.com/articles/Mini-Support-Stories-and-Shake-It,-Baby)) – Martin

+0

@Martin. Да, см. Изображение. Выбрана «ABC». – Bigeyes

ответ

0

На ваших RadComboBox установите следующие значения:

CanAutocompleteSelectItems="True" IsEditable="True" 

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

EDIT: Создайте новое свойство в классе, который содержит FileLocList, который объединяет строки FileLocCode и FileLocName (с разрывом строки там, я думаю, если вы хотите реплицировать эффект стекапанели).

Затем избавиться от ItemTemplate и подключить DisplayMemberPath к новой строке.

+0

К сожалению, это не работает. – Bigeyes

+0

Это работает для меня - не могли бы вы разместить разметку xaml, определяющую ваш RadComboBox? –

+0

См. Обновленный. – Bigeyes

 Смежные вопросы

  • Нет связанных вопросов^_^