我有一個ListView綁定到ObservableCollection mPersonList。 Class Person獲得了一個枚舉性。我想要做的是將ListViewItem的背景設置爲綠色,如果該人是男性,並且如果該人是女性則設置爲紅色。Wpf ListViewItem背景綁定到枚舉
感謝您的答案!
我試過這樣,但最新錯了嗎?
<Style x:Key="CustomListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="Background" Value="{Binding Path=Status, Converter={StaticResource sexEnumToColor}}" />
</Style>
和:
public class SexEnumToColor : IValueConverter
{
#region IValueConverter Member
object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Sex tempSex = (Sex)value;
Brush retval;
switch (tempSex)
{
case Sex.Male:
retval = Brushes.Blue;
break;
case Sex.Female:
retval = Brushes.Red;
break;
default:
retval = Brushes.Black;
break;
}
return retval;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
THX爲答案,但這改變了文本框的背景顏色。我怎麼能做到這一點改變一個listviewitem的backgroundcolor?在這種情況下, – Christian 2010-03-22 12:55:13
文本框只是數據模板中的一個元素。所以改變bg文本框與改變listviewitem的bg相同。如果你有另一個數據模板,你可以用你的模板包裝(例如)並將prorepty綁定到它的背景。 –
2010-03-22 13:15:13