XamDataChart绘制颜色和标记选项

时间:2012-11-17 22:42:55

标签: c# wpf colors infragistics marker

我正在使用WPF和c#测试来自Infragistics的最新XamDataChart。有没有人知道如何更改折线图上绘制的数据点之间的线条颜色?

我还想在一些标绘点上放置标记。我可以使用MarkerType =“None”打开和关闭整个系列的标记,但是没有找到基于绑定到布尔值的数据来标记某些数据点的方法,该布尔值也可用作用于绘图的集合的一部分

这似乎是相当基本的东西,但到目前为止,我很茫然。

非常感谢任何想法或建议。


我已经尝试了一切我能想到的东西让它发挥作用,但没有快乐。

在下面的代码中,我试图尽可能地简化而不会丢失问题的本质。看起来相当简单,除了MarkerType数据绑定外,一切都有效。我已将错误类型从bool更改为MarkerType。我在AbcDataSources集合中有大量的AbcData对象。数据上下文在网格上设置。 LineSeries获取数据正常,图表显示行。

奇怪的是我已将ALL Error属性设置为enum MarkerType.Circle类型,而在Xaml设计器中,圆圈显示出来。当程序运行时,他们没有。

其他信息:我正在使用VS2012,.NET 4.5,Infragistics WPF 2012 V2

我们将非常感谢您对理解这一点的任何帮助。

public class AbcData : BindableBase
{
    private Single _dataValue;
    private MarkerType _error;

    public Single DataValue
    {
        get { return _dataValue; }
        set { SetProperty(ref _dataValue, value); }
    }

    public MarkerType Error
    {
        get { return _error; }
        set { SetProperty(ref _error, value); }
    }
}

public class AbcDataSource
{
    private readonly ObservableCollection<AbcData> _rawMDP = new ObservableCollection<AbcData>();

    public ObservableCollection<AbcData> RawMDP
    {
        get { return _rawMDP; }
    }
}

<Grid>
    <Grid.DataContext>
    <Data:AbcDataSource/>
    </Grid.DataContext>

    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="16" />
    </Grid.RowDefinitions>

    <ig:XamDataChart x:Name="RTChart" Grid.Row="0" HorizontalZoomable="True" WindowScaleHorizontal="0.25"
            WindowPositionHorizontal="1" HorizontalZoombarVisibility="Visible" VerticalZoomable="True"
            VerticalZoombarVisibility="Visible" PlotAreaBackground="Black" CrosshairVisibility="Visible" Background="Black">

        <ig:XamDataChart.Axes>
            <ig:NumericYAxis x:Name="YAxis" Interval="1" Label="{}{:n2}" >
                <ig:NumericYAxis.LabelSettings>
                    <ig:AxisLabelSettings Location="OutsideRight" Foreground="White" FontSize="10"
                            Extent="45" />
                </ig:NumericYAxis.LabelSettings>
            </ig:NumericYAxis>
            <ig:CategoryXAxis x:Name="XAxis" Label="{}{XDateTime:HH:mm}" ItemsSource="{Binding RawMDP}" >
                <ig:CategoryXAxis.LabelSettings>
                    <ig:AxisLabelSettings Foreground="White" FontSize="10" />
                </ig:CategoryXAxis.LabelSettings>
            </ig:CategoryXAxis>
        </ig:XamDataChart.Axes>

        <ig:XamDataChart.Series>

            <ig:LineSeries x:Name="DataValue"
                                MarkerType="{Binding RawMDP/Error}"
                                XAxis="{Binding ElementName=XAxis}"
                                YAxis="{Binding ElementName=YAxis}"
                                ItemsSource="{Binding Path=RawMDP}"
                                ValueMemberPath="DataValue" />

        </ig:XamDataChart.Series>

    </ig:XamDataChart>

</Grid>

0 个答案:

没有答案