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