在我的WPF應用程序中,我只想更改組合框的背景顏色。我不是說下拉列表,我想要的是任何選擇背景的項目。 就像設置一個按鈕的背景一樣 - 當控件顯示在屏幕上時,它應該有LightYellow背景。而已。 我在網上搜索了很多,但到處都可以找到下拉背景顏色的解決方案。我嘗試將SolidColorBrush和Style.Triggers應用於Combobox的TextBlock,但沒有成功。通過添加SolidColorBrush行,我得到了我的下拉背景設置,但這不是我正在尋找的。我的代碼是:WPF更改組合框的背景顏色
<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>
任何人都可以幫助我設置他期望的組件的背景。
感謝
我可以與我的其他幾個用戶控件共享相同的樣式嗎?我想在我的5個UserControls中使用相同的樣式(我有很多)。我可以在沒有寫入所有5個控件的情況下訪問它嗎?我很懷疑,但想確認一下。 – Tvd
所選項目不顯示在頂部。嘗試了許多變化來設置前景,但沒有影響。爲什麼選定的項目在頂部不可見?我的意思是,即使在選擇後組合框出現空白 - 而選擇的項目應該出現在最上面。什麼設置相同? – Tvd
偉大的答案,工作的魅力 –