我正在使用WPF和c#測試來自Infragistics的最新XamDataChart。有沒有人有一個想法,我可以如何改變線圖上繪製的數據點之間的線的顏色?XamDataChart繪製顏色和標記選項
我也想只在一些繪製點上放置標記。我可以使用MarkerType =「None」打開或關閉整個系列的標記,但尚未找到基於數據綁定的布爾值標記某些數據點的方法,該布爾值也可用作繪圖集合的一部分。
這似乎是相當基本的東西,但到目前爲止我不知所措。
任何想法或建議將不勝感激。
我已經嘗試了所有我能想到的工作,但沒有喜悅。
在下面的代碼中,我試圖儘可能簡化而不會丟失問題的本質。它看起來相當簡單,除了MarkerType數據綁定外,其他所有工作都可以使用。我已將錯誤的類型從bool更改爲MarkerType。我在AbcDataSources集合中有大量的AbcData對象。數據上下文在網格上設置。 LineSeries獲取其數據並且圖表顯示線條。
奇怪的是我已將所有錯誤屬性設置爲枚舉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>
例如:http://www.infragistics.com/community/forums/t/54025.aspx –
感謝您的回覆。我之前認識到MarkerType是基於系列而不是基於數據點的。我將努力使用DataTemplete,在您提供示例的情況下應該不難。你有沒有或知道創建自己的自定義系列的例子。再次感謝!!! – user1771706