您的位置:首页 > 其它

wpf listView实现Grid,并且奇偶行显示不同颜色

2012-11-23 15:21 741 查看
首先写一个继承IValueConverter的背景颜色转换类

public sealed class BackgroundConverter : IValueConverter

{

public object Convert(object value, Type targetType, object parameter,

CultureInfo culture)

{

ListViewItem item = (ListViewItem)value;

ListView listView =

ItemsControl.ItemsControlFromItemContainer(item) as ListView;

// Get the index of a ListViewItem

int index = listView.ItemContainerGenerator.IndexFromContainer(item);

if (index % 2 == 0)

{

Color color=new Color();

color.R=220;

color.G=220;

color.B=220;

SolidColorBrush scb = new SolidColorBrush();

scb.Color = color;

scb.Opacity = 1;

return scb;

}

else

{

return Brushes.White;

}

}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

{

return null;

}

}

在xaml上 引用该类的命名空间

xmlns:namespc="clr-namespace:EShowX86_2D.External"

定义listviewItem资源

<Window.Resources>

<namespc:BackgroundConverter x:Key="myConverter"/>

<Style x:Key="myItemStyle" TargetType="{x:Type ListViewItem}">

<Setter Property="Background">

<Setter.Value> <Binding RelativeSource="{RelativeSource Self}" Converter="{StaticResource myConverter}"/>

</Setter.Value>

</Setter>

<Style.Triggers>

<Trigger Property="IsSelected" Value="true">

<Setter Property="Background" Value="PowderBlue" />

</Trigger>

</Style.Triggers>

</Style>

</Window.Resources>

//创建listView

<ListView Margin="4,12,14,0" x:Name="gridListView" Height="380" Background="#CBCBCB" ItemContainerStyle="{StaticResource myItemStyle}">

<ListView.View>

<GridView x:Name="gridViewAu" AllowsColumnReorder="true" >

<GridViewColumn>

<GridViewColumnHeader HorizontalContentAlignment="Left">图片</GridViewColumnHeader>

<GridViewColumn.CellTemplate>

<DataTemplate>

<Border Background= "{Binding Background}">

<Image Stretch="Fill" Source= "{Binding PicPath}" Height="30" Width="30"/>

</Border>

</DataTemplate>

</GridViewColumn.CellTemplate>

</GridViewColumn>

</GridView>

</ListView.View>

</ListView >
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: