Category / Section
How to apply gradient color for OLAP Chart series in Silverlight?
1 min read
You can apply gradient color of OLAP Chart series as follows.
C#
public partial class MainPage : UserControl
{
private IOlapDataProvider dataProvider;
public object OlapDataManager;
public MainPage()
{
InitializeComponent();
InitializeConnection();
this.olapchart1.Loaded += new RoutedEventHandler(olapchart1_Loaded);
}
private void InitializeConnection()
{
Binding customBinding = new CustomBinding(new BinaryMessageEncodingBindingElement(), new HttpTransportBindingElement { MaxReceivedMessageSize = 2147483647 });
EndpointAddress address = new EndpointAddress("http://bi.syncfusion.com/OlapWcfProject/Services/OlapManager.svc/binary");
ChannelFactory<IOlapDataProvider> clientChannel = new ChannelFactory<IOlapDataProvider>(customBinding, address);
dataProvider = clientChannel.CreateChannel();
OlapDataManager olapDataManager = new OlapDataManager();
olapDataManager.DataProvider = dataProvider;
olapDataManager.SetCurrentReport(CreateOlapReport());
this.OlapDataManager = olapDataManager;
}
void olapchart1_Loaded(object sender, RoutedEventArgs e)
{
GradientStopCollection stopCollection = new GradientStopCollection();
GradientStop stop1 = new GradientStop();
stop1.Color = Colors.Gray;
stop1.Offset = 0.0;
stopCollection.Add(stop1);
GradientStop stop2 = new GradientStop();
stop2.Color = Colors.Magenta;
stop2.Offset = 1.0;
stopCollection.Add(stop2);
LinearGradientBrush linearGradiBrush = new LinearGradientBrush(stopCollection, 45.00);
foreach (var series in olapchart1.OlapChartArea.Series)
{
foreach (var seg in series.Segments)
{
seg.Interior = linearGradiBrush;
}
}
}
VB
Partial Public Class MainPage
Inherits UserControl
Private dataProvider As IOlapDataProvider
Public OlapDataManager As Object
Public Sub New()
InitializeComponent()
InitializeConnection()
Me.olapchart1.Loaded += New RoutedEventHandler(olapchart1_Loaded)
End Sub
Private Sub InitializeConnection()
Binding customBinding = New CustomBinding(New BinaryMessageEncodingBindingElement(), New HttpTransportBindingElement
{
MaxReceivedMessageSize = 2147483647
}
)
Dim address As EndpointAddress = New EndpointAddress("http://bi.syncfusion.com/OlapWcfProject/Services/OlapManager.svc/binary")
Dim clientChannel As ChannelFactory<IOlapDataProvider> = New ChannelFactory<IOlapDataProvider>(customBinding,address)
dataProvider = clientChannel.CreateChannel()
Dim olapDataManager As OlapDataManager = New OlapDataManager()
olapDataManager.DataProvider = dataProvider
olapDataManager.SetCurrentReport(CreateOlapReport())
Me.OlapDataManager = olapDataManager
End Sub
Private Sub olapchart1_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim stopCollection As GradientStopCollection = New GradientStopCollection()
Dim stop1 As GradientStop = New GradientStop()
stop1.Color = Colors.Gray
stop1.Offset = 0.0
stopCollection.Add(stop1)
Dim stop2 As GradientStop = New GradientStop()
stop2.Color = Colors.Magenta
stop2.Offset = 1.0
stopCollection.Add(stop2)
Dim linearGradiBrush As LinearGradientBrush = New LinearGradientBrush(stopCollection, 45.0)
Dim series As var
For Each series In olapchart1.OlapChartArea.Series
Dim seg As var
For Each seg In series.Segments
seg.Interior = linearGradiBrush
Next
Next
End Sub