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 ...
随机推荐
- MapReduce框架-Join的使用
引言 首先先明白在关系型数据库中Join的用法. Join在MapReduce中的用法也是用于两个文件之间的连接. 使用MR程序解决两张表的join问题,有两种解决方案 à MR程序的join应用 1 ...
- MobSF移动安全扫描平台本地化部署与简单汉化
在之前的文章MobSF移动安全扫描平台环境搭建与试用中,我们用docker进行了搭建,那么我们如何在本地直接搭建呢,其实也是很简单的. 本地化部署 我们在本地安装 其实是很简单的,里面有两个文件,在不 ...
- Java-SpringBoot注解方式实现AOP
AOP基本总结 连接点(JoinPoint): 连接点是程序运行的某个阶段点,如方法调用.异常抛出等 切入点(Pointcut): 切入点是JoinPoint的集合 是程序中需要注入Advice的位置 ...
- Notes of Cygwin in Windows7
Installation download setup.exe from its official website; run setup.exe, select "download with ...
- Git-04-本地仓库撤销修改
编辑修改了文件,但是还没有git add之前 直接用 git checkout -- filename 这个命令就可以了 已经 git add 了,但是没有 git commit 之前 1 模拟git ...
- Supervisord远程命令执行漏洞(CVE-2017-11610)复现
Supervisord远程命令执行漏洞(CVE-2017-11610)复现 文章首发在安全客 https://www.anquanke.com/post/id/225451 写在前面 因为工作中遇到了 ...
- RabbitMQ和Elasticsearch的使用笔记
Demo介绍 学习rabbitmq和elasticsearch后的小练习,主要功能点介绍: 1.elasticsearch实现搜索.条件查询和分页: 2.搜索周边酒店信息 3.酒店竞价排名: 4.后台 ...
- mybaits进阶01
在以上mybait入门的改进(增加了接口让增删改查 后期跟容易) 注意:主配置文件和映射配置文件内容不变,但是映射文件要和对应接口放于同目录下并且名称必须相同 一.接口创建 public interf ...
- @Profile-根据不同环境注入bean
介绍 @Profile元注解是在不同的生产环境中,@Bean创建的SpringBean根据spring.profiles.active指定的环境不同创建不同环境的bean对象 一.@Profile元注 ...
- 【REST】使用RestSharp 库消费Restful Service
使用RestSharp 库消费Restful Service 现在互联网上的服务接口都是Restful的,SOAP的Service已经不是主流..NET/Mono下如何消费Restful Serv ...