如何在gridview中应用这样的颜色逻辑?

如何在gridview中应用这样的颜色逻辑?,gridview,windows-8,windows-runtime,microsoft-metro,Gridview,Windows 8,Windows Runtime,Microsoft Metro,我正在构建一个gridview,gridview项源包含索引值和其他数据。我知道我可以通过IValueConverter将背景与索引属性绑定来应用背景,但我需要逻辑。我想要下面给出的gridview int i=0; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (i == 0) { e.Row.Cells[0].BackColor = Syste

我正在构建一个gridview,gridview项源包含索引值和其他数据。我知道我可以通过
IValueConverter
将背景与索引属性绑定来应用背景,但我需要逻辑。我想要下面给出的gridview

int i=0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (i == 0)
    {
        e.Row.Cells[0].BackColor = System.Drawing.Color.Purple;
        e.Row.Cells[1].BackColor = System.Drawing.Color.Green;
        e.Row.Cells[2].BackColor = System.Drawing.Color.Red;
        i++;
    }
    else if (i == 1)
    {
        e.Row.Cells[0].BackColor = System.Drawing.Color.Green;
        e.Row.Cells[1].BackColor = System.Drawing.Color.Red;
        e.Row.Cells[2].BackColor = System.Drawing.Color.Purple;
        i++;
    }
    else if (i == 2)
    {
        e.Row.Cells[0].BackColor = System.Drawing.Color.Red;
        e.Row.Cells[1].BackColor = System.Drawing.Color.Purple;
        e.Row.Cells[2].BackColor = System.Drawing.Color.Green;
        i = 0;
    }
}

我自己终于找到了解决办法:)


这不适用于我,因为我使用的是Windows 8应用程序的
GridView
而不是ASP.NET
GridView
public class IndexToColorConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        SolidColorBrush _color = null;
        int _val = (int)value % 9;
        switch (_val)
        {
            case 1:
            case 3:
            case 8:
                _color = App.Current.Resources["GreenBrush"] as SolidColorBrush;
                break;

            case 0:
            case 5:
            case 7:
                _color = App.Current.Resources["OrangeBrush"] as SolidColorBrush;
                break;

            case 2:
            case 4:
            case 6:
                _color = App.Current.Resources["PurpleBrush"] as SolidColorBrush;
                break;
        }

        return _color;
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        throw new NotImplementedException();
    }
}