彩票走势图

ComponentOne如何实现WPF中的动态条件格式

原创|使用教程|编辑:郝浩|2013-07-24 14:27:26.000|阅读 270 次

概述:WPF界面控件套包ComponentOne Studio for WPF中的网格控件C1FlexGrid的灵活性非常受人称道,他拥有一个叫CellFactory的类,堪称在数据表现领域的梦幻工具。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  WPF界面控件套包ComponentOne Studio for WPF中的网格控件C1FlexGrid的灵活性非常受人称道,他拥有一个叫CellFactory的类,堪称在数据表现领域的梦幻工具。CellFactory类允许在单元格中自定义网格,大大方便了网格的开发,能够实现不少意想不到的功能。今天慧都就通过使用这个类来实现动态条件格式,来证明其的实用性。

  一个很常见的需求:以文本内容来决定单元格的格式,需要实现的效果如下:

ComponentOne如何实现WPF中的动态条件格式

  首先,创建一个继承与CellFactory类的类。

public class CustomCellFactory : CellFactory
{
 
}

  然后用CellFactory类来覆盖CreateCellContent()方法,用条件来设置单元式的边框元素的背景。

public override void CreateCellContent(C1FlexGrid grid, Border bdr, CellRange rng)
{
   base.CreateCellContent(grid, bdr, rng);
   //format cells in second column
   if (rng.Column == 2)
   {
      if (grid[rng.Row, rng.Column].ToString() == "Japan")
      {
         bdr.Background = new SolidColorBrush(Colors.LimeGreen);
      }
      else if (grid[rng.Row, rng.Column].ToString() == "India")
      {
         bdr.Background = new SolidColorBrush(Colors.MediumVioletRed);
      }
      else if (grid[rng.Row, rng.Column].ToString() == "United States")
      {
         bdr.Background = new SolidColorBrush(Colors.Yellow);
      }
      else if (grid[rng.Row, rng.Column].ToString() == "United Kingdom")
      {
         bdr.Background = new SolidColorBrush(Colors.Gold);
      }
   }
}

然后动态条件格式就完成了,下面这个GIF就是其动态效果:

ComponentOne如何实现WPF中的动态条件格式


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP