silverlight4.0 DataGrid 设置改变单元格颜色,根据值设置不同的颜色

silverlight4.0 DataGrid 设置改变单元格颜色,根据值设置不同的颜色
运行效果见上图, 可以根据单元格中的值来设置颜色,100%为红色,其他为绿色。
实现方法:用列模板绑定数据源中定义的颜色数据项。
其中列模板用Border加TextBox构成,代码如下:
private static DataTemplate MakeCellTemplate(MyColumn col)
        {
            try
            {
                DataTemplate dt1 = new DataTemplate();
                StringBuilder xaml = new StringBuilder();
                xaml.Append("<DataTemplate ");
                xaml.Append("xmlns='http://schemas.microsoft.com/client/2007' ");
                xaml.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' ");
                xaml.Append(">");
                xaml.Append("<Border ");
                xaml.Append("BorderThickness='0.5' BorderBrush='LightGray' Background='Orange'>");
                xaml.Append("<TextBox ");
                xaml.Append("IsReadOnly='True' Text='{Binding " + col.Name + "}' Foreground='Black' BorderBrush='White' BorderThickness='0' Background='{Binding " + col.colorValue + "}'");
                xaml.Append("/>");
                xaml.Append("</Border>");
                xaml.Append("</DataTemplate>");
                dt1 = (DataTemplate)XamlReader.Load(xaml.ToString());
                return dt1;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.StackTrace);
                return null;
            }
        }

你可能感兴趣的:(silverlight4.0 DataGrid 设置改变单元格颜色,根据值设置不同的颜色)