DevExpress ChartControl 柱状图背景透明设置

许多人不会设置的主要原因是XYDiagram2D.DefaultPane 中DomainBrush和DomainBorderBrush的设置。下面是xaml的一个实例:

<UserControl x:Class="myGisSilverlight.Tool.SilverlightControl2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">
    
    <Grid x:Name="LayoutRoot" Background="White">
        <dxc:ChartControl Name="ChartSwarm" Width="150" Height="150"  Background="{x:Null}">
            <dxc:ChartControl.Diagram>
                <dxc:XYDiagram2D BorderBrush="{x:Null}">
                    <dxc:XYDiagram2D.DefaultPane>
                        <dxc:Pane DomainBrush="{x:Null}" BorderBrush="{x:Null}" DomainBorderBrush="{x:Null}" />
                    </dxc:XYDiagram2D.DefaultPane>
                    <dxc:XYDiagram2D.AxisY>
                        <dxc:AxisY2D Visible="False" Interlaced="False" GridLinesVisible="False" />
                    </dxc:XYDiagram2D.AxisY>
                    <dxc:XYDiagram2D.AxisX>
                        <dxc:AxisX2D Visible="False" Interlaced="False" GridLinesVisible="False"/>
                    </dxc:XYDiagram2D.AxisX>
                    <dxc:XYDiagram2D.Series>
                        <dxc:BubbleSeries2D x:Name="Series"></dxc:BubbleSeries2D>
                    </dxc:XYDiagram2D.Series>
                </dxc:XYDiagram2D>
            </dxc:ChartControl.Diagram>
        </dxc:ChartControl>
    </Grid>
</UserControl>
程序的设置方法:

 #region 创建柱状图
        private ChartControl createXY2DDiagram(List<Dictionary<string,string>> datas)
        {
            ChartControl chartCtl = new ChartControl();
            //chartCtl.Height = map.ActualHeight / 10;
            //chartCtl.Width = map.ActualWidth / 10;
            //chartCtl.MaxHeight = 80;
            //chartCtl.MaxWidth = 65;
            chartCtl.Height = 150;
            chartCtl.Width = 100;
            chartCtl.BorderBrush = null;
            chartCtl.Background = null;
            XYDiagram2D xy2d = new XYDiagram2D();
            //xy2d.BarDistance = 0.1;
            xy2d.EqualBarWidth = true;
            
            //xy2d.BorderBrush = null;
            //xy2d.BorderThickness = new Thickness(0);
            xy2d.Background = null;
            xy2d.BorderBrush = null;
            
            Pane pane = new Pane();
            pane.DomainBrush = null;
            pane.DomainBorderBrush = null;
            
            xy2d.DefaultPane = pane;
            setXY(xy2d);
            BarSideBySideSeries2D tmpSeries = null;
            string value="";
            foreach (Dictionary<string, string> data in datas)
            {
                value=data["Value"];
                if (value.Trim() == ""||value.Contains("-"))
                    continue;
                tmpSeries = createSeries(data["Argument"], double.Parse(value));
                
                xy2d.Series.Add(tmpSeries);
            }
            chartCtl.Diagram = xy2d;
            return chartCtl;
        }
        private void setXY(XYDiagram2D xy2d)
        {
            xy2d.AxisX = new AxisX2D();
            xy2d.AxisX.Visible = false;
            xy2d.AxisX.Interlaced = false;
            xy2d.AxisX.GridLinesVisible = false;
           
            //xy2d.AxisX.GridLinesVisible = false;
            //xy2d.AxisX.InterlacedBrush = new SolidColorBrush(Colors.Transparent);
            xy2d.AxisY = new AxisY2D();
            xy2d.AxisY.Visible = false;
            xy2d.AxisY.Interlaced = false;
            xy2d.AxisY.GridLinesVisible = false;
           
        }
        private BarSideBySideSeries2D createSeries(string argument,double value)
        {
            BarSideBySideSeries2D tmp = new BarSideBySideSeries2D();
            //tmp.BarWidth = 20;
            //tmp.DisplayName = argument;
            //tmp.ToolTipPointPattern = argument+":"+value.ToString();
            //tmp.ToolTipPointPattern = value.ToString();
            
            //tmp.AnimationAutoStartMode = AnimationAutoStartMode.SetStartState;
            
            tmp.CrosshairLabelVisibility = false;
            tmp.Model = new Quasi3DBar2DModel();
            tmp.Label = new SeriesLabel();
            tmp.LabelsVisibility = false;
            
            SeriesLabel sl = new SeriesLabel();
            
            
            SeriesPoint sp = new SeriesPoint();
            sp.Argument = argument;
            sp.Value = value;
            tmp.Points.Add(sp);
            return tmp;
        }
        #endregion
最后,看效果(专题图分析)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值