Chart3DHitInfo.AdditionalItem Property
Stores additional information about a test point.
Namespace: DevExpress.Xpf.Charts
Assembly:
DevExpress.Xpf.Charts.v24.1.dll
NuGet Package:
DevExpress.Wpf.Charts
Declaration
public object AdditionalItem { get; }
Public ReadOnly Property AdditionalItem As Object
Property Value
Type |
Description |
Object |
An object that contains additional information about a test point.
|
When you use a series view of the SurfaceSeriesView type, the AdditionalItem property returns a SurfacePoint object if a user clicks the series surface. Use the Chart3DHitInfo.SeriesPoint property to obtain information about a test point if a user clicks a series point marker or a series point of a discrete 3D series (for example, Bars).
Example
This example shows coordinates for a surface point and series point marker clicked in a 3D chart:
<dxc:Chart3DControl x:Name="chart" MouseUp="Chart3DControl_MouseUp">
...
<dxc:Series3DStorage>
<dxc:Series3D DisplayName="Function">
...
<dxc:Series3D.View>
<dxc:SurfaceSeriesView MarkerVisible="True">
...
</dxc:SurfaceSeriesView>
</dxc:Series3D.View>
</dxc:Series3D>
</dxc:Series3DStorage>
</dxc:Chart3DControl>
using DevExpress.Xpf.Charts;
using System.Windows;
//...
private void Chart3DControl_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e) {
Chart3DHitInfo hitInfo = chart.CalcHitInfo(e.GetPosition(this));
if (hitInfo.InSeries) {
string str;
if (hitInfo.SeriesPoint != null) {
SeriesPoint3D point = hitInfo.SeriesPoint;
str = $"X: {point.NumericXArgument:f2}, Y: {point.NumericYArgument:f2}, Z: {point.Value:f2}";
MessageBox.Show(str);
}
if (hitInfo.AdditionalItem != null) {
SurfacePoint surfacePoint = (SurfacePoint)hitInfo.AdditionalItem;
str = $"X: {surfacePoint.X:f2}, Y: {surfacePoint.Y:f2}, Z: {surfacePoint.Z:f2}";
MessageBox.Show(str);
}
}
}
Imports DevExpress.Xpf.Charts
Imports System.Windows
'...
Private Sub Chart3DControl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
Dim hitInfo As Chart3DHitInfo = chart.CalcHitInfo(e.GetPosition(Me))
If hitInfo.InSeries Then
Dim str As String
If hitInfo.SeriesPoint IsNot Nothing Then
Dim point As SeriesPoint3D = hitInfo.SeriesPoint
str = $"X: {point.NumericXArgument:f2}, Y: {point.NumericYArgument:f2}, Z: {point.Value:f2}"
MessageBox.Show(str)
End If
If hitInfo.AdditionalItem IsNot Nothing Then
Dim surfacePoint As SurfacePoint = CType(hitInfo.AdditionalItem, SurfacePoint)
str = $"X: {surfacePoint.X:f2}, Y: {surfacePoint.Y:f2}, Z: {surfacePoint.Z:f2}"
MessageBox.Show(str)
End If
End If
End Sub
See Also