没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郝浩|2013-03-01 17:13:15.000|阅读 819 次
概述: 在今天的文中,将会分享一下如何在Chat FX for WPF 中创建条形显示地图的条形图,附加源码和图片。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在今天的文中,将会分享一下如何在WPF图表控件Chart FX for WPF中创建有地图的条形图表,下面是第一次尝试在条形图中显示图像:
<cfx:Chart Gallery="Bar"> <cfx:Chart.Series> <cfx:SeriesAttributes/> </cfx:Chart.Series> <cfx:Chart.AllSeries> <cfx:AllSeriesAttributes> <cfx:AllSeriesAttributes.Template> <DataTemplate> <Canvas> <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}"> <Rectangle.Fill> <ImageBrush ImageSource="C:\Temp\WorldMap.png"/> </Rectangle.Fill> </Rectangle> </Canvas> </DataTemplate> </cfx:AllSeriesAttributes.Template> </cfx:AllSeriesAttributes> </cfx:Chart.AllSeries> </cfx:Chart>
我们将绑定这个矩形条的宽度和高度都我们创建的逻辑上的项目的宽度和高度上去,值得注意的是,我们并不担心左边和顶部,因为这些都将会在内部进行处理。现在我们正打算创建一个画布,因为将会在里面添加更多的元素,下面就是我们所得到的效果:
显然这不是我们想要的效果,实际上在WPF的图表中也没有这个功能去画矩形,尤其是ImageBrush / DrawingBrush的“region”。即使我们尝试设置Stretch到UniformToFill,也只可以让条形显示一部分。 这个想法主要是想要确保所有的条形在完整的图形区域中实际根据条形几何绘制位图。我们的逻辑项目支持PlotWidth 和PlotHeight,这样的话就会返回完整的绘制区域的面积,但是由于我们的画布会自动转移到条形的位置,所以就取消了这个操作,我们的逻辑项目排列在左边和顶部,所以需要创建一个简单的转换器:
public class NegateConverter : IValueConverter { object IValueConverter.Convert (object value, Type targetType, object parameter, CultureInfo culture) { if (value is double) return -((double) value); else return value; } object IValueConverter.ConvertBack (object value, Type targetType, object parameter, CultureInfo culture) { if (value is double) return -((double) value); else return value; } }
修改我们的模板如下:
<DataTemplate> <Canvas> <Canvas.Resources> <local:NegateConverter x:Key="negateConverter"/> </Canvas.Resources> <Rectangle Canvas.Left="{Binding Path=Left, Converter={StaticResource negateConverter}}" Canvas.Top="{Binding Path=Top, Converter={StaticResource negateConverter}}" Width="{Binding Path=PlotWidth}" Height="{Binding Path=PlotHeight}" Clip="{Binding Path=BoundsGeometry}"> <Rectangle.Fill> <ImageBrush Stretch="UniformToFill" ImageSource="C:\Temp\WorldMap.png"/> </Rectangle.Fill> </Rectangle> </Canvas> </DataTemplate>
同时设置了这个矩形的Clip属性到我们逻辑项目后的一个新的属性中,这样的话就会返回一个几何形状,使用这个需要用到ChartFX创建3488或更厚,这样就会更加接近于我们的外观。
在这里还需要修改一些设计增量,首先添加为每个条形添加一个阴影效果。
<DataTemplate> <Canvas> <Canvas.Resources> <local:NegateConverter x:Key="negateConverter"/> </Canvas.Resources> <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="#404040" Stroke="#404040" StrokeThickness="{Binding Path=StrokeThickness}"> <Rectangle.BitmapEffect> <DropShadowBitmapEffect/> </Rectangle.BitmapEffect> </Rectangle> <Rectangle Canvas.Left="{Binding Path=Left, Converter={StaticResource negateConverter}}" Canvas.Top="{Binding Path=Top, Converter={StaticResource negateConverter}}" Width="{Binding Path=PlotWidth}" Height="{Binding Path=PlotHeight}" Clip="{Binding Path=BoundsGeometry}"> <Rectangle.Fill> <ImageBrush Stretch="UniformToFill" ImageSource="C:\Temp\WorldMap.png"/> </Rectangle.Fill> </Rectangle> </Canvas> </DataTemplate>
如果将上述中的3个值设置小于20,你将看不见大部分地图,甚至会失去这个效果,在这里就可以在绘图区域中使用相同的位图。
<cfx:Chart.PlotArea> <cfx:PlotAreaAttributes> <cfx:PlotAreaAttributes.Background> <ImageBrush Opacity="0.35" Stretch="UniformToFill" ImageSource="C:\Temp\WorldMap.png" /> </cfx:PlotAreaAttributes.Background> </cfx:PlotAreaAttributes> </cfx:Chart.PlotArea>
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都控件自 24.11 版以来,Aspose.Words for .NET 提供了 AI 驱动的文档摘要功能,使用户能够从冗长的文本中快速提取关键见解。在新版本25.2中,通过使用Anthropic 生成语言模型进行摘要扩展了此功能。
在本文中,将介绍一个新集成演示,包括 DHTMLX Grid 和 Pivot,并将重点介绍DHTMLX的开发团队使用这些小部件创建 JavaScript 数据透视网格时使用的一些技术技巧。
解析PDF意味着从 PDF 文件中提取结构化或非结构化数据。由于 PDF 的结构复杂,因此这可能具有挑战性。在本文中,我们将学习如何使用 Aspose.PDF for Python 在 Python 中解析 PDF。在本指南结束时,您将能够使用 Python 从 PDF 文档中提取文本、表格和图像。
单元格边框是指在单元格或单元格区域周围添加的线条。它们可用于不同的目的,如分隔工作表中的部分、吸引读者注意重要的单元格或使工作表看起来更美观。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中添加或删除 Excel 单元格边框。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢