Creating Custom Floating Objects
Spread WinRT Documentation > Developer's Guide > Customizing the Appearance > Creating Custom Floating Objects

You can create custom floating objects as in the following image.

You can resize a floating object with the mouse or Shift + Arrow or Ctrl + Shift + Arrow keys. You can move a floating object by dragging it using the Shift key and the mouse.

You can use the right or left mouse button to select a floating object. You can also use the Tab or Shift + Tab key to select the object.

Normal shortcut keys for cut, copy, and paste apply to floating objects. You can use the Ctrl key and the mouse to drag and copy the object.

Floating objects can be imported or exported to XLSX or XML files.

Using Code

The following code creates a floating object.

  1. Implement a custom CustomFloatingObject class.
  2. Create the floating object content.
  3. Add the floating object to the sheet.
CS
Copy Code
public class MyFloatingObject : GrapeCity.Xaml.SpreadSheet.UI.CustomFloatingObject
        {
            public MyFloatingObject(string name, double x, double y, double width, double height)
                : base(name, x, y, width, height)
            {
            }

            public override FrameworkElement Content
            {
                get
                {
                    Border border = new Border();

                    StackPanel sp = new StackPanel();
                    sp.Children.Add(new Button() { Content = "Label", Background = new SolidColorBrush(Windows.UI.Colors.Blue) });
                    sp.Children.Add(new Button() { Content = "Button", Background = new SolidColorBrush(Windows.UI.Colors.Red) });

                    border.BorderThickness = new Thickness(1);
                    border.BorderBrush = new SolidColorBrush(Windows.UI.Colors.Black);
                    border.Child = sp;
                    return border;
                }
            }
        }

//add instance of this floating object into worksheet
MyFloatingObject mf = new MyFloatingObject("mf1", 10, 10, 200, 100);
gcSpreadSheet1.ActiveSheet.FloatingObjects.Add(mf);
VB
Copy Code
Public Class MyFloatingObject
    Inherits GrapeCity.Xaml.SpreadSheet.UI.CustomFloatingObject
    Public Sub New(name As String, x As Double, y As Double, width As Double, height As Double)
        MyBase.New(name, x, y, width, height)
    End Sub

    Public Overrides ReadOnly Property Content() As FrameworkElement
        Get
            Dim border As New Border()

            Dim sp As New StackPanel()
            sp.Children.Add(New Button() With { _
                .Content = "Label", _
                .Background = new SolidColorBrush(Windows.UI.Colors.Blue) _
            })
            sp.Children.Add(New Button() With { _
                .Content = "Button", _
                .Background = new SolidColorBrush(Windows.UI.Colors.Red) _
            })

            border.BorderThickness = New Thickness(1)
            border.BorderBrush = New SolidColorBrush(Windows.UI.Colors.Black)
            border.Child = sp
            Return border
        End Get
    End Property
End Class

'add instance of this floating object into worksheet
Dim mf As New MyFloatingObject("mf1", 10, 10, 200, 100)
GcSpreadSheet1.ActiveSheet.FloatingObjects.Add(mf)
See Also