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 ...
随机推荐
- 我的第一个开源项目 Kiwis2 Mockserver
我的第一个开源作品Kiwis2 Mock Server,目前公测中,欢迎大家提供宝贵意见. 代码:https://github.com/kiwis2/mockserver 主页:https://kiw ...
- Python - typing 模块 —— Any Type
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...
- 【LeetCode】88. 合并两个有序数组
88. 合并两个有序数组 知识点:数组:排序:双指针: 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 ...
- VirtualBox-虚拟硬盘扩容-win7
问题: 我在VirtualBox下搭建的win7系统只设置了一个C盘,当初只给硬盘分配32G,如今深受生活的毒打,发现只剩5G可用,装个PS都费劲. 我要扩容,扩容! 当前环境: VirtualBox ...
- yum clean all大坑解决
在Centos7系统中执行yum clean all 之后,发现yum的其他执行都报错了: 要解决,关键在这里: 把/var/cache/yum/ 下面的文件删除了 接下来,如果执行yum repol ...
- Ratel:一直站在Android逆向巅峰的平头哥
本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆 ...
- PL/SQL 安装使用
PL/SQL 安装 前提:安装Oracle 使用 登录 oracle连接地址格式 ip:端口/ServerName,如192.168.136.130:1521/xe 新建菜单 Sql-Window 编 ...
- 十四:Servlet3.0的动态
动态的创建是为了简化配置文件的.对于我们创建的servlet,filter和listener后可以使用.这也是注解的另外一种替代方式. package com.hotusm.dynamic; impo ...
- blog.mzywucai.club停站
考研,不经营了,两台服务器也关了:blog.mzywucai.club也关了,就让它沉了吧!以后做个更好的?
- 了解Prometheus
了解Prometheus 标签(空格分隔): 监控 介绍 Prometheus是用来收集和存储服务器的实时数据(比如:CPU.硬盘.服务响应.日志等),通过其丰富的运算函数,可以计算得到很多的服务性能 ...