• WPF DataGrid row background converter datagrid 行背景随绑定数据变化,转换器



    <DataGrid Grid.Row="1" ItemsSource="{Binding SalesList,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" AutoGenerateColumns="False"> <DataGrid.RowStyle> <Style TargetType="DataGridRow"> <Setter Property="Background" > <Setter.Value> <Binding Path="SalesOrderDetailID" Converter="{StaticResource colorConverter}"/> </Setter.Value> </Setter> </Style> </DataGrid.RowStyle> <DataGrid.Columns> <DataGridTextColumn Header="SalesOrderID" Binding="{Binding SalesOrderID }"/> <DataGridTextColumn Header="SalesOrderDetailID" Binding="{Binding SalesOrderDetailID}"/> <DataGridTextColumn Header="ModifiedDate" Binding="{Binding ModifiedDate}"/> </DataGrid.Columns> </DataGrid>
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Data;
    using System.Windows.Media;
    
    namespace WpfApp39.Converter
    {
        class ColorConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                int rowsIndex;
                if (value != null && int.TryParse(value.ToString(), out rowsIndex))
                {
                    switch (rowsIndex % 5)
                    {
                        case 0:
                            return new SolidColorBrush(Colors.Yellow);
                            
                        case 1:
                            return new SolidColorBrush(Colors.Purple);
                             
                        case 2:
                            return new SolidColorBrush(Colors.Red);
                             
                        case 3:
                            return new SolidColorBrush(Colors.Green);
                            
                        case 4:
                            return new SolidColorBrush(Colors.Blue);
                             
                        default:
                            return new SolidColorBrush(Colors.Yellow);
                    }
                }
    
                return new SolidColorBrush(Colors.Purple);
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                throw new NotImplementedException();
            }
        }
    }

    <DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
    <Setter Property="Background" >
    <Setter.Value>
    <Binding Path="SalesOrderDetailID" Converter="{StaticResource colorConverter}"/>
    </Setter.Value>
    </Setter>
    </Style>
    </DataGrid.RowStyle>

  • 相关阅读:
    函数的参数设置
    定义函数
    使用dict和set
    (转)set集合的应用
    循环与range
    if语句
    How to use git hub
    Install pyodbc in OpenSUSE
    Ubuntu编译安装PHP7
    Ubuntu为已经安装的PHP7单独编译mysqli
  • 原文地址:https://www.cnblogs.com/Fred1987/p/10853895.html
Copyright © 2020-2023  润新知