Sets the value of the
GrapeCity.Windows.SpreadSheet.UI.DrawingObjectManager.IDrawingObjectProvider attached property for a given
GcSpreadSheet control.
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
Target Platforms: Windows 7, Windows 8 Desktop, Windows Vista SP1 or later, Windows Server 2000, Windows 2000 Professional (SP4), Windows XP (SP2), Windows 2008, Windows 2003 Server (SP1)