Spread Silverlight Documentation
SetDrawingObjectProvider Method
Example 


A GcSpreadSheet
An instance of custom IDrawingObjectProvider
Sets the value of the GrapeCity.Windows.SpreadSheet.UI.DrawingObjectManager.IDrawingObjectProvider attached property for a given GcSpreadSheet control.
Syntax
'Declaration
 
Public Shared Sub SetDrawingObjectProvider( _
   ByVal element As GcSpreadSheet, _
   ByVal value As IDrawingObjectProvider _
) 
'Usage
 
Dim element As GcSpreadSheet
Dim value As IDrawingObjectProvider
 
DrawingObjectManager.SetDrawingObjectProvider(element, value)
public static void SetDrawingObjectProvider( 
   GcSpreadSheet element,
   IDrawingObjectProvider value
)

Parameters

element
A GcSpreadSheet
value
An instance of custom IDrawingObjectProvider
Example
This example uses the SetDrawingObjectProvider method to put a button in a cell.
public MainPage()
        {
            InitializeComponent();
            GrapeCity.Windows.SpreadSheet.UI.DrawingObjectManager.SetDrawingObjectProvider(this.gcSpreadSheet1, new MyDrawingObjectProvider());
        }

        public class MyDrawingObjectProvider : GrapeCity.Windows.SpreadSheet.UI.IDrawingObjectProvider
        {
            public GrapeCity.Windows.SpreadSheet.Data.DrawingObject[] GetDrawingObjects(GrapeCity.Windows.SpreadSheet.Data.Worksheet sheet, int row, int column, int rowCount, int columnCount)
            {
                if (row == 1 && column == 1)
                {
                    return new ControlDrawingObject[] { new ControlDrawingObject(row, column, new Button()) };
                }
                return sheet.GetDrawingObject(row, column, rowCount, columnCount);
            }
        }

        public class ControlDrawingObject : GrapeCity.Windows.SpreadSheet.UI.CustomDrawingObject
        {
            private Control _rootElement;
            public ControlDrawingObject(int row, int col, Control control) : base(row, col) { _rootElement = control; this.ShowDrawingObjectOnly = true; }
            public override FrameworkElement RootElement
            {
                get { _rootElement.Margin = new Thickness(1); return _rootElement; }
            }
        }
Public Sub New()
        InitializeComponent()
        GrapeCity.Windows.SpreadSheet.UI.DrawingObjectManager.SetDrawingObjectProvider(Me.gcSpreadSheet1, New MyDrawingObjectProvider())
    End Sub

    Public Class MyDrawingObjectProvider
        Implements GrapeCity.Windows.SpreadSheet.UI.IDrawingObjectProvider
        Public Function GetDrawingObjects(sheet As GrapeCity.Windows.SpreadSheet.Data.Worksheet, row As Integer, column As Integer, rowCount As Integer, columnCount As Integer) As GrapeCity.Windows.SpreadSheet.Data.DrawingObject() Implements GrapeCity.Windows.SpreadSheet.UI.IDrawingObjectProvider.GetDrawingObjects
            If row = 1 AndAlso column = 1 Then
                Return New ControlDrawingObject() {New ControlDrawingObject(row, column, New Button())}
            End If
            Return sheet.GetDrawingObject(row, column, rowCount, columnCount)
        End Function
    End Class

    Public Class ControlDrawingObject
        Inherits GrapeCity.Windows.SpreadSheet.UI.CustomDrawingObject
        Private _rootElement As Control
        Public Sub New(row As Integer, col As Integer, control As Control)
            MyBase.New(row, col)
            _rootElement = control
            Me.ShowDrawingObjectOnly = True
        End Sub
        Public Overrides ReadOnly Property RootElement() As FrameworkElement
            Get
                _rootElement.Margin = New Thickness(1)
                Return _rootElement
            End Get
        End Property
    End Class
Requirements

Target Platforms: Windows 7, Windows 8 Desktop, Windows Vista SP1 or later, Windows Server 2000, Windows 2000 Professional, Windows XP Professional, Windows NT 4.0 Workstation, SP6, Windows NT 4.0 Server, SP6

See Also

Reference

DrawingObjectManager Class
DrawingObjectManager Members

 

 


Copyright © GrapeCity, inc. All rights reserved.