Comment changer le premier plan de la liste déroulante sur l'état désactivé?


MO

Je souhaite empêcher l'utilisateur de modifier / sélectionner une zone de liste déroulante. J'ai essayé d'utiliser cmbbox.IsReadOnly = Trueet cmbbox.IsEditable = Falsequi permet à l'utilisateur de modifier la sélection par altet arrow' keys. cmbbox.isEnabled = Falsefonctionne et mon exigence est de changer la couleur de premier plan de la zone de liste déroulante en «Noir» lorsqu'elle est désactivée. Quelqu'un peut-il m'aider à résoudre ce problème?

En XAML:

<telerik:RadComboBox Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2"  x:Name="combobox1" IsEditable="True" IsFilteringEnabled="True" ItemsSource="{Binding}" TabIndex="7" Style="{ DynamicResource DropDownListStyle }" IsTabStop="True" KeyboardNavigation.TabNavigation ="Local" SelectAllTextEvent="None" Height="23" Margin="0,0,0,2" VerticalAlignment="Center"/>

Dans Codebehind:

combobox1.IsEnabled = False

Dans le style:

 <Style x:Name="DropDownListStyle" x:Key="DropDownListStyle" TargetType="telerik:RadComboBox" >
                <Setter Property="Foreground" Value="#FF000000"/>
                <Setter Property="BorderBrush" Value="#ffcccccc"/>
                <Setter Property="BorderThickness" Value="1"/>
                <Setter Property="HorizontalContentAlignment" Value="Left" />
                <Setter Property="VerticalContentAlignment" Value="Center" />
                <Setter Property="FontSize" Value="12"/>
                <Setter Property="FontWeight" Value="Thin"/>
                <Setter Property="FontFamily" Value="Trebuchet MS"/>
                <Setter Property="Panel.ZIndex" Value="10" />
                <Setter Property="Height" Value="23" />
                <!--  <Setter Property="Focusable" Value="True"/> -->
                <Style.Triggers>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Background" Value="White"/>
                        <Setter Property="Foreground" Value="Black"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
MO

Je l'ai corrigé en définissant la IsReadonly = Truepropriété sur comboboxet en déclenchant l' PreviewKeyDownévénement.

combobox1.IsReadonly = True

et

Private Sub combobox1_PreviewKeyDown(sender As Object, e As Windows.Input.KeyEventArgs) Handles combobox1.PreviewKeyDown
        If combobox1.IsReadOnly Then
            If e.Key = Key.Tab Then
                e.Handled = False
            Else
                e.Handled = True
            End If
        End If
End Sub

Articles connexes


Comment changer l'arrière-plan de la liste déroulante ComboBox?

Mapplesoft J'ai un ComboBoxprojet UWP que je souhaite modifier. Je veux changer la couleur d'arrière-plan du StackPanel(?) Contenant le ComboBoxItems, mais je n'ai pas trouvé de moyen simple de le faire. Ici, je veux changer la couleur du rembourrage gris clai

Vider le premier élément de la liste déroulante

MariusNV: Je suis assez débutant avec AngularJS et actuellement je travaille sur une application web dans Django où j'utilise AngularJS pour la partie frontend que je peux dire. Mon problème est que la liste déroulante qui est remplie avec des objets d'une por

Comment changer le premier plan sur RadRadioButton par défaut

dhrm J'essaye de styliser mes RadRadioButton en fonction du style par défaut pour RadRadioButton: <Style x:Key="MyRadRadioButtonStyle" TargetType="{x:Type telerik:RadRadioButton}"> <Setter Property="BorderThickness" Value="1"/> <Setter Property="Foregr