Search code examples
wpfxamldata-bindingdevexpresswpf-controls

How to mention source for BubbleSeries2D.Points


For a WPF project with Dev Express, is there a way i can define a series in the .xaml.cs file and reference this in the xaml file instead of manually writing the points as shown -

<Window x:Class="Bubble2DChart.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts" Title="Window1" Height="350" Width="620">
<Grid>
    <dxc:ChartControl>
        <dxc:ChartControl.CrosshairOptions>
            <dxc:CrosshairOptions ShowValueLine="True" ShowValueLabels="True"/>
        </dxc:ChartControl.CrosshairOptions>
        <dxc:ChartControl.Diagram>
            <dxc:XYDiagram2D>
                <dxc:XYDiagram2D.Series>
                    <dxc:BubbleSeries2D Transparency="0.2" AutoSize="False"  MinSize="1" MaxSize="3" ColorEach="True" 
                                        CrosshairLabelPattern="Argument: {A}; Value: {V}; Weight: {W}">
                        <dxc:BubbleSeries2D.Points>
                            <dxc:SeriesPoint Argument="A" Value="100" dxc:BubbleSeries2D.Weight="0.9" />
                            <dxc:SeriesPoint Argument="B" Value="60" dxc:BubbleSeries2D.Weight="0.8" />
                            <dxc:SeriesPoint Argument="C" Value="30" dxc:BubbleSeries2D.Weight="0.5" />
                            <dxc:SeriesPoint Argument="D" Value="43" dxc:BubbleSeries2D.Weight="0.4" />
                            <dxc:SeriesPoint Argument="E" Value="11" dxc:BubbleSeries2D.Weight="0.4"/>
                            <dxc:SeriesPoint Argument="F" Value="29" dxc:BubbleSeries2D.Weight="0.2"/>
                            <dxc:SeriesPoint Argument="G" Value="12" dxc:BubbleSeries2D.Weight="0.2"/>
                            <dxc:SeriesPoint Argument="H" Value="21" dxc:BubbleSeries2D.Weight="0.2"/>
                            <dxc:SeriesPoint Argument="I" Value="28" dxc:BubbleSeries2D.Weight="0.2"/>
                        </dxc:BubbleSeries2D.Points>
                    </dxc:BubbleSeries2D>
                </dxc:XYDiagram2D.Series>
                <dxc:XYDiagram2D.AxisY>
                    <dxc:AxisY2D GridLinesMinorVisible="True" >
                        <dxc:AxisY2D.WholeRange>
                            <dxc:Range MinValue="0" MaxValue="130" 
                                       SideMarginsValue="0" />
                        </dxc:AxisY2D.WholeRange>
                    </dxc:AxisY2D>
                </dxc:XYDiagram2D.AxisY>
            </dxc:XYDiagram2D>
        </dxc:ChartControl.Diagram>
    </dxc:ChartControl>
</Grid>


Solution

  • I suggest you to go through documentation: Bind a Series to a Data Source

    To do this, assign your data source to the Series.DataSource property, and define the Series.ArgumentDataMember and Series.ValueDataMember properties.

    You can bind a Chart to an Observable Collection, Data from an MDB File, Static Resource etc. You can follow the example to implement your functionality.