在本篇文章中,我们将阐述如何定制 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. SQLServer2008新建链接服务器for Oracle

    SQLServer2008新建链接服务器for Oracle   最近要在SQLServer2008中使用Oracle 10g的一个视图,通过建立链接服务器即可在SQLServer中使用Oracle提 ...

  2. 高吞吐量的分布式发布订阅消息系统Kafka--spring-integration-kafka的应用

    一.概述 Spring Integration Kafka 是基于 Apache Kafka 和Spring Integration来集成Kafka,对开发配置提供了方便. 二.配置 1.spring ...

  3. 【网络编程】——windows socket 编程

    测试demo #include <winsock2.h> #include <stdio.h> #include <string.h> #include <s ...

  4. Mac OS 下安装wget

    环境:  Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...

  5. Java对象生命周期

    [TOC] 1. 创建阶段(Created) 为对象分配存储空间 开始构造对象 从父类到子类对static成员进行初始化 父类成员变量按照顺序初始化,递归调用父类的构造方法 子类成员变量按照顺序初始化 ...

  6. iOS:基于AVPlayer实现的视频播放器

    最近在学习AVFoundation框架的相关知识,写了一个基于AVPlayer的视频播放器,相关功能如下图: 代码github:https://github.com/wzpziyi1/VideoPla ...

  7. win7搭建ios开发环境

    安装过程参考文章: http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html http://www.loukit.com/threa ...

  8. Android-NDK编译:cocos2d-x(二)

    看了看NDK的文档....里面总是莫名的会提下windows需要cygwin环境... 但是cocos2d-x3.0alpha1 中, 编译samples的python脚本 cocos2d-x3/bu ...

  9. ubuntu下搭建lamp

    一.使用apt-get方式为Ubuntu安装PHP+MYSQL+Apache   分别执行如下命令:   (1)安装MYSQL   sudo apt-get install mysql-server ...

  10. Oracle数据库入门——高水位线详解

    一.什么是水线(High Water Mark)? 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称 ...