2017-01-12 1 views
0

Ich benutze RadComboBox in Silverlight. Ich habe die verbindlichen Daten von irgendwo bekommen. Die Frage ist, wenn ich auf den Dropdown-Pfeil klicke, um das Menü zu schließen, aber der ausgewählte Text nicht fokussiert oder hervorgehoben ist.Hightlight der Text in RadComboBox beim Schließen des Menüs

Ich habe LostFocus, DropDownOpened und SelectionChanged Ereignisse für diese RadComboBox. Ich habe den Code

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

in einem dieser Ereignisse.

Der ausgewählte Text im Dropdown-Menü kann jedoch nicht fokussiert (hervorgehoben) werden. Vielleicht kann es nicht in seinen eigenen Veranstaltungen erreicht werden?

EDIT:

Code:

<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> 

Image:

abc

+0

Was meinen Sie mit "Hervorhebung" des Textes? Soll der Text ausgewählt werden? (a.k.a. [mach es blau] (http://thedailywtf.com/articles/Mini-Support-Stories-and-Shake-It,-Baby)) – Martin

+0

@Martin. Ja, siehe das Bild. "ABC" ist ausgewählt. – Bigeyes

Antwort

0

Auf Ihrem RadComboBox die folgenden Werte:

Dies sollte Ihnen das gewünschte Verhalten geben, obwohl es bedeutet, dass Benutzer beliebigen Text in das Eingabefeld eingeben können, so dass Sie dies möglicherweise behandeln müssen.

EDIT: Erstellen Sie eine neue Eigenschaft in der Klasse, die FileLocList enthält, die die FileLocCode und FileLocName Strings verkettet (mit einem Zeilenumbruch in dort ich denke, wenn man die Stackpanel der Effekt repliziert werden sollen).

Dann loswerden Sie die ItemTemplate und verbinden Sie DisplayMemberPath stattdessen mit Ihrer neuen Zeichenfolge.

+0

Leider funktioniert es nicht. – Bigeyes

+0

Es funktioniert für mich - könnten Sie das Xaml-Markup posten, das Ihre RadComboBox definiert? –

+0

Siehe die aktualisierte. – Bigeyes

Verwandte Themen