zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    MemoryCache
    Page.Cache
    webform运行时弹出JavaScript的alert窗口
    server.Transfer不工作
    Server.Transfer VS Response.Redirect – Simplified
    Code Pages
    Unicode, UTF, ASCII, ANSI format differences
    Character Encoding in .NET
    分布式之消息队列复习精讲
    Understand:高效代码静态分析神器详解(一)
  • 原文地址:https://www.cnblogs.com/Fred1987/p/10853895.html
Copyright © 2011-2022 走看看