Studio for WPF:定制 C1WPFChart 标记
在本篇文章中,我们将阐述如何定制 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 标记的更多相关文章
- WPF的"路径标记语法"
在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线) // L 100,0 C:三次方贝塞尔曲线 // ...
- Studio for WPF:使用 C1TileView 创建图片库
C1TileView 提供了数据交互浏览的功能.允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项. 下面我们分步分享实现方法: 1.添加 C1TileView 到窗体,并 ...
- Z.Studio高级成衣定制(双井店)价格,地址(图)-北京-大众点评网
Z.Studio高级成衣定制(双井店)价格,地址(图)-北京-大众点评网 Z.Studio高级成衣定制(双井店)
- 《转》Visual Studio 2010 终极定制安装精简方法
打开VS2010安装目录下的 Setup 文件夹,找到 baseline.dat 文件和 vs_setup.pdi 文件还有一个 locdata.ini 文件,是对应的. 这些都是文本文件,用记事本就 ...
- Windows 7中,用Visual Studio开发WPF应用程序,实现从Windows Explorer中拖拽文件到应用程序,始终显示“无法拖放”符号问题解决方案
Are you running your application or Visual Studio that hosts the app under administrative privilege? ...
- 标记扩展和 WPF XAML
本主题介绍 XAML 的标记扩展概念,包括其语法规则.用途以及底层的类对象模型. 标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能. 本主题专门详细论述了用于 WPF X ...
- 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )
写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题. 稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...
- WPF扩展标记
标记扩展和 WPF XAML,标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能 XAML 处理器和标记扩展 XAML 分析器可将特性值解释为可转换成基元的文本字符串,或可通过 ...
- WPF,Silverlight与XAML读书笔记(3) - 标记扩展
hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103 文章- 0 评论- 107 WPF,Silverlight与XAML读书笔记(3) - 标记扩展 说 ...
随机推荐
- Android QQ空间浏览图片动画特效的实现(※)
1 http://blog.csdn.net/yangblocker/article/details/12680247 2 photoview 3 nineoldandroid
- android开发(50) Android透明状态栏。适用于 4.4 以上及 5.0以上设备
概述 有时候我们想在 andorid 手机上实现一种 跨越 顶部状态栏的效果,比如一张图片直接显示在 状态栏内.比如下图: 这个页面里有张图片,这个图片显示在整个页面的上部分.状态栏是 漂浮在这个图片 ...
- HTML5 Canvas实战之刮奖效果
近年来由于移动设备对HTML5的较好支持,经常有活动用刮奖的效果,最近也在看H5方面的内容,就自己实现了一个,现分享出来跟大家交流. 1.效果 2.原理 原理很简单,就是在刮奖区添加两个canvas, ...
- python 安装加环境变量
pip install sth --global-option="build_ext" --global-option="-I/usr/local/include&quo ...
- ArchLinux 下架设PPTPD VPN服务
直接上命令吧: 安装: pacman -Sy pacman -S pptpd 配置: vim /etc/pptpd.conf option /etc/ppp/options.pptpd stimeou ...
- [转]VS2010中水晶报表安装应用及实例
基本分类如下:第一部分:VS2010简介VS2010是微软的提供的一套完整的开发环境,功能也是相当的大微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team Syst ...
- eclipse-java/spring mvc常见错误
Dynamic Web Module 3.1 requires Java 1.7 or newer http://crunchify.com/how-to-solve-dynamic-web-modu ...
- 【转载】CSS 盒子模型
转处:http://www.cnblogs.com/sunyunh/archive/2012/09/01/2666841.html 说在Web世界里(特别是页面布局),Box Model无处不在.下面 ...
- SuperSocket 1.6.4 通过FixedHeaderReceiveFilter解析自定义协议
SuperSocket 提供了一些通用的协议解析工具, 你可以用他们简单而且快速的实现你自己的通信协议: TerminatorReceiveFilter (SuperSocket.SocketBase ...
- 【深入浅出.Net IL】1.一个For循环引发的IL
.Net底层剖析目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 1.准 ...