在本篇文章中,我们将阐述如何定制 C1WPFChart 数据点的标记。

下面分步讲解实现:

1.定制自定义样式:

  1: <Window.Resources>
  2:     <Style x:Key="happy" TargetType="{x:Type c1:PlotElement}">
  3:         <Setter Property="Stroke" Value="Transparent"/>
  4:         <Setter Property="Fill">
  5:             <Setter.Value>
  6:                 <ImageBrush>
  7:                     <ImageBrush.ImageSource>
  8:                         <BitmapImage UriSource="pack://application:,,,/Images/happy.jpg"/>
  9:                     </ImageBrush.ImageSource>
 10:                 </ImageBrush>
 11:             </Setter.Value>
 12:         </Setter>
 13:     </Style>
 14: </Window.Resources>

2.现在,我们可以指定自定义的 SymbolStyle 到 C1WPFChart 。

3.通过 XAML 加载样式:

  1: <c1:DataSeries Label="Growth" SymbolStyle="{StaticResource happy}" SymbolMarker="Box"  SymbolSize="30,30" RenderMode="Default" Values="20 45 19 24 25 5 15 30 12 40" />

4.通过 PlotElementLoaded 事件加载。

  1: private void DataSeries_PlotElementLoaded(object sender, EventArgs e)
  2: {
  3:     PlotElement pe = (PlotElement)sender;
  4:   
  5:     if (!(pe is Lines)) // skip lines
  6:     {
  7:         DataPoint dp = pe.DataPoint;
  8:         pe.Fill = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/Images/happy.jpg")));
  9:     }
 10: }

同时,通过后台代码进行不同图表数据标记的定制:

  1: private void DataSeries_PlotElementLoaded(object sender, EventArgs e)
  2: {
  3:     PlotElement pe = (PlotElement)sender;
  4:   
  5:     if (!(pe is Lines)) // skip lines
  6:     {
  7:         DataPoint dp = pe.DataPoint;
  8:         pe.Stroke = Brushes.Transparent;
  9:         if (dp.Value <= 20)
 10:         {
 11:             pe.Fill = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/Images/sad.jpg")));
 12:         }
 13:         else if (dp.Value > 20)
 14:         {
 15:             pe.Fill = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/Images/happy.jpg")));
 16:         }
 17:     }
 18: }

效果图:

Demo 下载:

点击下载: CS_DEMO

点击下载: VB.NET_Demo

Studio for WPF:定制 C1WPFChart 标记的更多相关文章

  1. WPF的"路径标记语法"

    在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线)  // L 100,0 C:三次方贝塞尔曲线   // ...

  2. Studio for WPF:使用 C1TileView 创建图片库

    C1TileView 提供了数据交互浏览的功能.允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项. 下面我们分步分享实现方法: 1.添加 C1TileView 到窗体,并 ...

  3. Z.Studio高级成衣定制(双井店)价格,地址(图)-北京-大众点评网

    Z.Studio高级成衣定制(双井店)价格,地址(图)-北京-大众点评网 Z.Studio高级成衣定制(双井店)

  4. 《转》Visual Studio 2010 终极定制安装精简方法

    打开VS2010安装目录下的 Setup 文件夹,找到 baseline.dat 文件和 vs_setup.pdi 文件还有一个 locdata.ini 文件,是对应的. 这些都是文本文件,用记事本就 ...

  5. Windows 7中,用Visual Studio开发WPF应用程序,实现从Windows Explorer中拖拽文件到应用程序,始终显示“无法拖放”符号问题解决方案

    Are you running your application or Visual Studio that hosts the app under administrative privilege? ...

  6. 标记扩展和 WPF XAML

      本主题介绍 XAML 的标记扩展概念,包括其语法规则.用途以及底层的类对象模型. 标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能. 本主题专门详细论述了用于 WPF X ...

  7. 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

  8. WPF扩展标记

    标记扩展和 WPF XAML,标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能 XAML 处理器和标记扩展 XAML 分析器可将特性值解释为可转换成基元的文本字符串,或可通过 ...

  9. WPF,Silverlight与XAML读书笔记(3) - 标记扩展

    hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103  文章- 0  评论- 107  WPF,Silverlight与XAML读书笔记(3) - 标记扩展   说 ...

随机推荐

  1. 更换TFS账户

    1.通过命令行启动“rundll32.exe keymgr.dll, KRShowKeyMgr"2.更改TFS账户3.重新启动VS2005

  2. RxJava基本流程和lift源码分析

    1.subscribe过程 2.lift过程

  3. 常用的Expression调用形式

    ConstantExpression exp1 = Expression.Constant();构建常量表达式(还可以加类型) BinaryExpression exp12 = Expression. ...

  4. 头文件 string.h cstring string 区别

    1.#include <cstring>   //不可以定义string s:可以用到strcpy等函数using   namespace   std; #include <stri ...

  5. Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!

    记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...

  6. 配置svn

    Linux搭建SVN Server 其中包括添加防火墙规则

  7. CentOS 7 上编译安装MySQL 5.6.23

    1.下载源码 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 2.解压 tar zxvf mysql-5.6 ...

  8. [作业向]tinyhttp web服务器设计及完整代码

    最近看了<HTTP权威指南>和<UNP>有了写一个简单的web服务器的想法,正好这个学期没有什么课,所以就花了一个星期这样写了一个出来,鉴于本人水平有限,如果有什么设计或代码错 ...

  9. java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)

    import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.reg ...

  10. Gulp:新一代前端构建利器

    1.什么是Gulp gulp.js 是一种基于流的,代码优于配置的新一代构建工具. Gulp 和 Grunt 类似.但相比于 Grunt 的频繁的 IO 操作,Gulp 的流操作,能更快地完成构建. ...