我是一位WPF和XAML新手的平面設計師。我想創建一個ComboBox,其中選擇的項目保持選中狀態,直到選擇一個新項目。同時,當用戶想要將鼠標懸停在其他項目上時,我想爲高亮顯示不同的顏色。我正在使用混合和C#。組合框Hightlight項目並突出顯示瀏覽的項目
如果這有點令人困惑,我做了一個快速插圖。謝謝!!
這是我的圖片的鏈接: http://www.flickr.com/photos/jeddahbalgame/6633558209/
我是一位WPF和XAML新手的平面設計師。我想創建一個ComboBox,其中選擇的項目保持選中狀態,直到選擇一個新項目。同時,當用戶想要將鼠標懸停在其他項目上時,我想爲高亮顯示不同的顏色。我正在使用混合和C#。組合框Hightlight項目並突出顯示瀏覽的項目
如果這有點令人困惑,我做了一個快速插圖。謝謝!!
這是我的圖片的鏈接: http://www.flickr.com/photos/jeddahbalgame/6633558209/
您可以使用觸發器來指定應該是什麼顏色的項目
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Background" Value="White" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
要更改鼠標移動的項目顏色,實際上必須覆蓋組合框的HighlightBrush,因爲它是系統顏色。你也可以做到這一點在你的風格
<Style TargetType="{x:Type ComboBoxItem}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Yellow"/>
</Style.Resources>
<Setter Property="Background" Value="White" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
謝謝!我會試試這個! – Farnsworth 2012-01-04 08:39:56
謝謝你的工作出色! – Farnsworth 2012-01-05 18:08:25
有多種方法可以做到這一點,無論是使用代碼隱藏在SelectionChanged
事件或通過使用綁定和OnPropertyChanged
事件從項目或有你的詳細資料將視圖綁定到組合框的SelectedItem。
綁定是首選方法,非常有用,但需要一些時間來學習。我建議使用MVVM模式搜索WPF綁定教程。
MVVM:http://mark-dot-net.blogspot.com/2009/03/binding-combo-boxes-in-wpf-with-mvvm.html
如果僅僅是指具有在組合框本身而不是其他的換頁不同的背景/高亮顏色,那麼你會希望你的風格化組合框。
您可能需要使用DataTriggers,具體取決於您想要的內容,因爲無法查看您的圖像,所以無法確定。
風格化:http://www.uxpassion.com/2008/09/styling-wpf-listbox-highlight-color/(是它的醜陋,但基本是有)
DataTriggers:被選中時How do you highlight an item in a combobox using WPF?
感謝您的答覆。我會檢查出來的! – Farnsworth 2012-01-04 08:39:30
WTH,我不打算加入G +只是爲了看看這個形象,請在別處上傳,並使用所提供的上傳機制,如果可能的話... – 2012-01-04 00:17:32
對此深感抱歉。自google +以來,除非他們加入,否則我不能讓人看我的照片。這是另一個鏈接到我的flickr與圖像:http://www.flickr.com/photos/jeddahbalgame/6633558209/ – Farnsworth 2012-01-04 08:23:38