DevExpress Silverlight DXChart特效总结
1、 主题修改
引用 xmlns:core=http://schemas.devexpress.com/winfx/2008/xaml/core
在Grid中添加core:ThemeManager.ApplicationTheme ="DXStyle"
主页引用一次即可
2、 坐标倒影
<dxc:ChartControl Name="chartControl1" >
<dxc:ChartControl.Diagram>
<dxc:XYDiagram2D>
<!--倒影-->
<dxc:XYDiagram2D.DefaultPane>
<dxc:Pane MirrorHeight="100" />
</dxc:XYDiagram2D.DefaultPane>
<dxc:XYDiagram2D.Series>
</dxc:XYDiagram2D.Series>
</dxc:XYDiagram2D>
</dxc:ChartControl.Diagram>
<dxc:ChartControl.Legend>
<dxc:Legend />
</dxc:ChartControl.Legend>
</dxc:ChartControl>
3、 动态加载效果
<dxc:ChartControl Name="chartControl1" <!--特效--> EnableAnimation="True" >
EnableAnimation:激活动画,True 或者 False。True是激活;False是不激活。
4、 透明度
<dxc:BubbleSeries2D DisplayName="Second Series" Transparency="0.1">
Transparency:透明度,范围0~1。0:不透明;1是完全透明。并非所有类型都支持透明
5、 饼图空心特效
<dxc:PieSeries2D <!—空心大小,0为实心--> HoleRadiusPercent="20">
6、 饼图点击某区域实现分离动态特效滚动特效
在后台代码添加
const int clickDelta = 200;
DateTime mouseDownTime;
bool rotate;
Point startPosition;
bool IsClick(DateTime mouseUpTime)
{
return (mouseUpTime - mouseDownTime).TotalMilliseconds < clickDelta;
}
double CalcAngle(Point p1, Point p2)
{
Point center = new Point(chartControl1.Diagram.ActualWidth / 2, chartControl1.ActualHeight / 2);
Point relativeP1 = new Point(p1.X - center.X, p1.Y - center.Y);
Point relativeP2 = new Point(p2.X - center.X, p2.Y - center.Y);
double angleP1Radian = Math.Atan2(relativeP1.X, relativeP1.Y);
double angleP2Radian = Math.Atan2(relativeP2.X, relativeP2.Y);
double angle = (angleP2Radian - angleP1Radian) * 180 / (Math.PI * 2);
if (angle > 90)
angle = 180 - angle;
else if (angle < -90)
angle = 180 + angle;
return angle;
}
void chart_MouseUp(object sender, MouseButtonEventArgs e)
{
ChartHitInfo hitInfo = chartControl1.CalcHitInfo(e.GetPosition(chartControl1));
rotate = false;
if (hitInfo == null || hitInfo.SeriesPoint == null || !IsClick(DateTime.Now))
return;
double distance = PieSeries.GetExplodedDistance(hitInfo.SeriesPoint);
Storyboard storyBoard = new Storyboard();
DoubleAnimation animation = new DoubleAnimation();
animation.Duration = new Duration(new TimeSpan(0, 0, 0, 0, 300));
animation.To = distance > 0 ? 0 : 0.3;
storyBoard.Children.Add(animation);
Storyboard.SetTarget(animation, hitInfo.SeriesPoint);
Storyboard.SetTargetProperty(animation, new PropertyPath(PieSeries.ExplodedDistanceProperty));
storyBoard.Begin();
}
void chart_MouseDown(object sender, MouseButtonEventArgs e)
{
mouseDownTime = DateTime.Now;
Point position = e.GetPosition(chartControl1);
ChartHitInfo hitInfo = chartControl1.CalcHitInfo(position);
if (hitInfo != null && hitInfo.SeriesPoint != null)
{
rotate = true;
startPosition = position;
}
}
void chart_MouseMove(object sender, MouseEventArgs e)
{
Point position = e.GetPosition(chartControl1);
ChartHitInfo hitInfo = chartControl1.CalcHitInfo(position);
if (hitInfo == null)
return;
if (rotate && !IsClick(DateTime.Now))
{
PieSeries2D series = chartControl1.Diagram.Series[0] as PieSeries2D;
double angleDelta = CalcAngle(startPosition, position);
startPosition = position;
}
}
void ChartsDemoModule_ModuleAppear(object sender, RoutedEventArgs e)
{
chartControl1.Animate();
}
void rblSweepDirection_SelectedIndexChanged(object sender, RoutedEventArgs e)
{
if (chartControl1 != null)
chartControl1.Animate();
}
void chart_QueryChartCursor(object sender, QueryChartCursorEventArgs e)
{
ChartHitInfo hitInfo = chartControl1.CalcHitInfo(e.Position);
if (hitInfo != null && hitInfo.SeriesPoint != null)
e.Cursor = Cursors.Hand;
}
在前台添加
<dxc:ChartControl Name="chartControl1" MouseLeftButtonUp="chart_MouseUp" MouseLeftButtonDown="chart_MouseDown" <!—边框厚度,0是没有-->BorderThickness="0"
MouseMove="chart_MouseMove" QueryChartCursor="chart_QueryChartCursor">
7、 颜色区分(并非所有有效)
<dxc:PointSeries2D <!—是否区分颜色。True是区分;False是不区分-->ColorEach="True" <!—点的大小-->MarkerSize="20">
8、 参数标签
<dxc:ChartControl.CrosshairOptions>
<dxc:CrosshairOptions
<!—X轴坐标值标签-->ShowArgumentLabels="True"
<!—X轴横坐标值基准线-->ShowArgumentLine="True"
<!—Y轴纵坐标值标签-->ShowValueLabels="True"
<!—Y轴横坐标值基准线-->ShowValueLine="True" />
</dxc:ChartControl.CrosshairOptions>
9、 是否显示点标签
<dxc:AreaStackedSeries2D DisplayName="First Series" <!—点标签。True为显示;False为不显示-->LabelsVisibility="True">
10、 点标签样式
<dxc:SimpleDiagram2D.Series>
<dxc:PieSeries2D HoleRadiusPercent="20" LabelsVisibility="True">
<dxc:PieSeries2D.PointOptions >
<dxc:PointOptions
<!—标签显示内容。ArgumentAndValues表示名称和值-->
PointView="ArgumentAndValues">
<dxc:PointOptions.ValueNumericOptions>
<dxc:NumericOptions
<!—标签值格式。General为一般;Scientific为科学计数法;Percent为百分比;Currency为¥;-->
Format="Percent"
<!—精确小数点尾数。0为整数-->
Precision="2" />
</dxc:PointOptions.ValueNumericOptions>
</dxc:PointOptions>
</dxc:PieSeries2D.PointOptions>
</dxc:SimpleDiagram2D.Series>
</dxc:PieSeries2D>
11、 图例格式
<dxc:SimpleDiagram2D.Series>
<dxc:PieSeries2D HoleRadiusPercent="20" LabelsVisibility="True">
<dxc:PieSeries2D.LegendPointOptions>
<dxc:PointOptions PointView="ArgumentAndValues">
<dxc:PointOptions.ValueNumericOptions>
<dxc:NumericOptions Format="Percent" Precision="2"/>
</dxc:PointOptions.ValueNumericOptions>
</dxc:PointOptions>
</dxc:PieSeries2D.LegendPointOptions>
</dxc:SimpleDiagram2D.Series>
</dxc:PieSeries2D >
12、 调色板
<dxc:ChartControl.Palette>
<!—不同模板,应用时只能有一个有效-->
<dxc:NatureColorsPalette/>
<dxc:PastelKitPalette/>
<dxc:InAFogPalette/>
<dxc:TerracottaPiePalette/>
<dxc:NorthernLightsPalette/>
<dxc:ChameleonPalette/>
<dxc:TheTreesPalette/>
<dxc:OfficePalette/>
<dxc:DXChartsPalette/>
<dxc:CustomPalette/>
</dxc:ChartControl.Palette>
DevExpress Silverlight DXChart特效总结的更多相关文章
- devexpress控件layoutview特效之一旋转木马的实现
1.devexpress有很多很好的特效,最近做了个旋转木马的特效,给大家分享下.效果图如下: 2.这里的控件为gridcontrol,里面的view为layoutview.数据绑定的代码与其他gri ...
- Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效
当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题,比如当前绘制了一个 ...
- Silverlight 2.5D RPG游戏技巧与特效处理:(五)HLSL渲染动画
原文:Silverlight 2.5D RPG游戏技巧与特效处理:(五)HLSL渲染动画 或许大家依旧对上一节中的“黑夜”及“梦回过去”记忆犹新,追问下去HLSL到底是何方神圣能实现如此炫酷之效果?层 ...
- WPF/Silverlight深度解决方案:(九)HLSL自定义渲染特效之完美攻略(下)
原文:WPF/Silverlight深度解决方案:(九)HLSL自定义渲染特效之完美攻略(下) 本想只用两节来完成关于HLSL自定义渲染相关知识的讲解,鉴于最近非常的多的朋友对此相当感兴趣,想知道最多 ...
- WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中)
原文:WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中) 通过上一节的解说,大家是否已经对HLSL有了较深刻的认识和理解,HLSL的渲染不仅仅局限于静态处理,通过 ...
- WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)
原文:WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上) Shader Effect种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: Bl ...
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统 作者: 深蓝色右手 来源: 博客园 发布时间: 2011-04-19 11:18 阅读: 1282 次 推荐: 0 ...
- Devexpress
1.隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.Rows[gri ...
- DevExpress GridControl使用方法
一.如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 二.如何新增一条记录 (1).gridView.AddN ...
随机推荐
- js中其他数据类型的值转为字符串的相关总结
有这样一个面试题: 此题考查的是其他类型的值转换为字符串后的结果 下面我们就由此来总结一下其他类型的值转为字符串后的值都是什么? 从上面的实例可以看出,基本数据类型的值转换成字符串都如我们预期的那样. ...
- MySQL学习07(规范化数据库设计)
规范化数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储空间浪费 数据更新和插入的异常 程序性能差 良好的数据库设计 : 节省数据的存储空间 能够保证数据的完整性 ...
- STP生成树的一些笔记
一.STP概述 1.1.STP简介 交换网络环路主要由广播风暴.多帧复制和MAC地址表紊乱造成. 广播风暴:一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播:由于网络拓扑的设计和连 ...
- Linux 硬盘与硬件管理
硬件以文件系统(Filesystem)角度来看 文件系统:一个可被挂载的数据称为文件系统,每个操作系统可以使用的文件系统并不一样,windows98是FAT或者FAT16文件系统,而windows20 ...
- Python 应用爬虫下载QQ音乐
Python应用爬虫下载QQ音乐 目录: 1.简介怎样实现下载QQ音乐的过程: 2.代码 1.下载QQ音乐的过程 首先我们先来到QQ音乐的官网: https://y.qq.com/,在搜索栏上输入一首 ...
- 位(bit)、字节(Byte)、字(Word)、双字(Dword)之间的关系
位(bit): bit(简写:b),是计算机数据存储最小的单位,二进制中,0或者1就是一个位(比特位)bit. 字节: Byte(简写:B),是计算机信息技术用于计量存储容量的一种计量单位,通常情况下 ...
- 备战秋招之十大排序——O(n^2)级排序算法
一.冒泡排序 冒泡排序是入门级的算法,但也有一些有趣的玩法.通常来说,冒泡排序有三种写法: 一边比较一边向后两两交换,将最大值 / 最小值冒泡到最后一位: 经过优化的写法:使用一个变量记录当前轮次的比 ...
- 【转】互联网项目中mysql应该选什么事务隔离级别
作者:孤独烟 转自:https://www.cnblogs.com/rjzheng/p/10510174.html 摘要 企业千万家,靠谱没几家.社招选错家,亲人两行泪. 祝大家金三银四跳槽顺利! 引 ...
- [SWMM]弗汝德数
弗汝德数(Froude number)是流体内惯性力与重力的比值.弗汝德数(Fr)是水力学中重要的无量纲数之一,它表示过水断面上单位重量液体具有的平均动能与平均势能的比值,它也表示水流惯性力与重力的比 ...
- git rebase和git merge的区别
前言: 平时工作中发现一般同事在同步远程代码的时候都是用git pull,其实git pull包含有两个操作,一个是fetch远程的代码,一个是将本地当前的代码和远程代码进行merge,即git ...