windowsforms-115947-controls-and-libraries-chart-control-examples-chart-elements-how-to-add-a-custom-legend-item.md
This example demonstrates how to add a custom legend item to a legend.
Create a CustomLegendItem object and add it to the CustomItems collection. Use the following properties to configure the custom item:
CustomLegendItem.MarkerImageReturns the custom legend item’s marker image.CustomLegendItem.TextGets or sets the text the custom legend item displays.
Note
To show custom and automatically generated legend items, set the LegendBase.ItemVisibilityMode to AutoGeneratedAndCustom.
using DevExpress.Drawing;
using DevExpress.XtraCharts;
using System;
using System.IO;
using System.Windows.Forms;
namespace CustomLegendItemSample {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
#region #CustomLegendItems
// Create a new custom item.
CustomLegendItem item = new CustomLegendItem();
chart.Legend.CustomItems.Add(item);
// Specify its text and marker.
item.Text = "Custom Legend Item";
FileStream outfile = new FileStream("Image\\DXLogo_16x16.png", FileMode.Open);
DXImage image = DXImage.FromStream(outfile);
item.MarkerImage.DXImage = image;
// Set a value indicating that both autogenerated and custom items are displayed.
chart.Legend.ItemVisibilityMode = LegendItemVisibilityMode.AutoGeneratedAndCustom;
#endregion #CustomLegendItems
}
}
}
Imports DevExpress.Drawing
Imports DevExpress.XtraCharts
Imports System
Imports System.IO
Imports System.Windows.Forms
Namespace CustomLegendItemSample
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
#Region "#CustomLegendItems"
' Create a new custom item.
Dim item As CustomLegendItem = New CustomLegendItem()
chart.Legend.CustomItems.Add(item)
' Specify its text and marker.
item.Text = "Custom Legend Item"
Dim outfile As FileStream = New FileStream("Image\DXLogo_16x16.png", FileMode.Open)
Dim image As DXImage = DXImage.FromStream(outfile)
item.MarkerImage.DXImage = image
' Set a value indicating that both autogenerated and custom items are displayed.
chart.Legend.ItemVisibilityMode = LegendItemVisibilityMode.AutoGeneratedAndCustom
#End Region ' #CustomLegendItems
End Sub
End Class
End Namespace