WPF-Ändern der Hintergrundfarbe einer Combobox
In meiner WPF-Anwendung will ich nur ändern Sie die Hintergrundfarbe des Kombinationsfeldes. Ich meine nicht die dropdown-Liste ich will, ist nur, was Element ausgewählt ist, ein hintergrund festgelegt ist.
Wie das setzen der Hintergrundfarbe einer Schaltfläche, wenn das Steuerelement auf dem Bildschirm angezeigt wird sollte es haben, Hellgelber hintergrund. Das ist es.
Ich suchte eine Menge auf dem Netz, aber überall finden könnten, Lösungen für die drop-down-hintergrund-Farben. Ich habe versucht, die Anwendung SolidColorBrush und Stil.Trigger auf den TextBlock der Combobox, aber keinen Erfolg wollte. Durch hinzufügen von SolidColorBrush-Linien, ich habe mein dropdown-hintergrund setzen, aber das ist nicht das, was ich Suche. Mein code ist :
<ComboBox ItemsSource="{Binding MtrCm}" SelectedValue="{Binding WellboreDiameter_Unit, Mode=TwoWay}" Grid.Row="1" Height="23" HorizontalAlignment="Right" Margin="0,26,249,0" x:Name="cboWellDiameter" VerticalAlignment="Top" Width="120" Background="LightYellow" >
<ComboBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Yellow" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Yellow" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Yellow" />
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=ComboBoxItem}}" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Resources>
</ComboBox>
Kann mir jemand helfen, setzte er hintergrund der gewünschten Komponente, die Suche.
Dank
InformationsquelleAutor Tvd | 2014-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese
Hier ist die komplette Formatvorlage, die Sie ändern können : http://msdn.microsoft.com/en-us/library/ms752094%28v=VS.85%29.aspx
Das ausgewählte Element erscheint nicht auf dem top. Versucht, viele Variationen legen Sie die forecolor-aber keine Auswirkung. Warum das ausgewählte Element ist nicht sichtbar auf der Oberseite ? Ich meine auch nach Auswahl der combobox leer angezeigt wird - stattdessen wird der ausgewählte Artikel angezeigt werden soll top. Was für das gleiche ?
Super Antwort, funktioniert wunderbar
Das ausgewählte Element wird nicht angezeigt, da der ContentPresenter fehlen einige Attribute:
Content="{TemplateBinding ComboBox.SelectionBoxItem}" ContentTemplate="{TemplateBinding ComboBox.SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
Das ist so enttäuschend zu WPF... So viel code, um den hintergrund einer ComboBox.
InformationsquelleAutor NullReferenceException
Während ich wie die akzeptierte Antwort, ich habe das problem mit ihm ist das Textfeld Moderator war völlig verpasst und so können Sie wählen und gestalten Sie Dinge, aber Sie werden nie vorgestellt, um den end-Benutzer. Ich denke, der einfachste Weg ist, um ein combo-box, die zeigt, dass Daten und dann, wenn gewählt, zeigt es dies wäre:
Die wichtigsten Teile der Präsentation getan werden musste, ist die Vorlage " ToggleButton.Vorlage' für die anfängliche Anzeige. Ich wählte zu ignorieren, mehr zu machen, Bürsten und links zu weiteren Vorlagen und tun Sie es einfach alle inline-damit andere spielen könnte, wie gebraucht. Ich habe auch gewählt, was ich dachte, waren leicht zu erkennen-Farben, um nur Sprung auf Referenz sollte wie folgt Aussehen, wenn es funktioniert:
InformationsquelleAutor djangojazz
Wenn Sie mit VS 2012 oder VS 2013 in die Gliederung des Dokuments ein Fenster, während das anzeigen Ihrer xaml erhalten Sie die Kontrolle Vorlage einer combobox.
Find den style
x:Key="ComboBoxReadonlyToggleButton"
und aktualisieren Sie dieRenderMouseOver = "False"
undRenderPressed="False"
auf die Themen:ButtonChrome und kommentieren Sie auch den trigger betrifft, IsEnabled.Unten ist die eine auf ich bearbeitet habe, auf mein Feld zu veranschaulichen, was ich meine.
InformationsquelleAutor TYY
Versuchen, diese
InformationsquelleAutor Heena Patil
Nur, fügen Sie Folgendes zu Ihrer
ComboBox
Stil 🙂Beispiel:
Glauben Sie mir, es ist wohl der kürzeste Weg, es zu tun... ich sehe nicht ein, warum haben wir völlig neu definieren
ComboBox
Vorlage.Ich bekomme diese Fehlermeldung: Die Ressource "{x:Type ComboBox}" konnte nicht aufgelöst werden.
InformationsquelleAutor Vijay Chavda