HTML5 and CSS3 enabled 3D web experience at roomsay.com:

RoomSay.com 3D Web Experience RoomSay.com 3D Web Experience DIY

Vectorlight News

  • 3D CSS used to Create Website
    Feb 08, 2014

    With the CSS 3D effects being implemented in modern browsers RoomSay.com takes this new technology and enables you to map your traditional 2D content onto the walls of a 3D room.

  • Chat App Converted to HTML and JQuery
    Sep 08, 2011

    Converted from Silverlight to HTML and Javascript/JQuery is the Vectorlight Chat App. Login using your Vectorlight password to chat using your username and avatar.

  • HTML5 iPhone,Android Big Guns Tower Defense
    Jul 02, 2011

    Big Guns has made the leap from Windows Phone 7 (XNA) to HTML5 so you can now play it on your iPhone, Android and other HTML5 compatible devices.

  • HTML5 Games - Word Poppers and Batty
    Jun 04, 2011

    As the take-up of HTML5 quickens (74% of users currently have a browser capable of HTML5 Canvas) we present two more games for both your browser and mobile.

  • Big Guns Tower Defense on Windows Phone 7
    May 06, 2011

    Coming soon to Windows Phone 7 is an XNA port of the popular Vectorlight tower defense game Super Tower Defense. Whilst retaining many of the graphical and gameplay features of the original Silverlight game.

  • Home Page News

Silverlight Fieldset Control

The free Fieldset control for Microsoft's Silverlight is a collapsable container for other vectorlight.net Controls and standard Silverlight elements such as TextBlocks, Rectanges etc.  The Fieldset control allows related controls to be grouped together in an easy and nicely presentable manner.

To use the FieldSet control you will need to add a reference to Liquid.TreeView.dll in your project.

How to Use the Fieldset Control

In your XAML ensure you have a reference to the Liquid.TreeView.dll in the UserControl tag at the top.  To use it on your Silverlight page:

<UserControl x:Class="FieldSet.Page"
    Width="400" Height="300">
        <ScrollViewer Width="204" Height="250" Canvas.Left="10" Canvas.Top="145">
            <StackPanel Width="204" Orientation="Vertical">
                <liquidTreeView:FieldSet x:Name="skills" Width="174" HorizontalAlignment="Left" IsExpanded="True" Text="Your Skills">
                        <CheckBox x:Name="aiprogrammer" Content="A.I. Programmer" TabIndex="4" />
                        <CheckBox x:Name="graphicsdesigner" Content="Graphics Designer" TabIndex="5" />
                        <CheckBox x:Name="systemsengineer" Content="Systems Engineer" TabIndex="6" />
                        <CheckBox x:Name="tester" Content="Tester" TabIndex="7" />
                        <CheckBox x:Name="webdeveloper" Content="Web Developer" TabIndex="8" />
                <liquidTreeView:FieldSet x:Name="qualifications" Width="174" IsEnabled="False" HorizontalAlignment="Left" IsExpanded="False" Text="Microsoft Qualifications">
                        <CheckBox x:Name="mcp" Content="MCP" TabIndex="10"/>
                        <CheckBox x:Name="mvp" Content="MVP" TabIndex="11"/>
                        <CheckBox x:Name="mcad" Content="MCAD" TabIndex="12"/>
                        <CheckBox x:Name="mcsd" Content="MCSD" TabIndex="13"/>
                        <CheckBox x:Name="otherQualification" Content="Other" TabIndex="14"/>
                <liquidTreeView:FieldSet x:Name="interests" Width="174" HorizontalAlignment="Left" IsExpanded="False" Text="Your Interests">
                        <CheckBox x:Name="cinema" Content="Cinema" TabIndex="10"/>
                        <CheckBox x:Name="football" Content="Football" TabIndex="11"/>
                        <CheckBox x:Name="holidaying" Content="Holidaying" TabIndex="12"/>
                        <CheckBox x:Name="surfing" Content="Surfing" TabIndex="13"/>
                        <CheckBox x:Name="tv" Content="TV" TabIndex="14"/>
                <liquidTreeView:FieldSet x:Name="years" Width="174" HorizontalAlignment="Left" IsExpanded="False" Text="Years experience?">
                        <RadioButton x:Name="sixmonths" Content="Less Than 1 Year" Cursor="Hand" TabIndex="30" GroupName="years" />
                        <RadioButton x:Name="twoyears" Content="Between 1 and 2 Years" Cursor="Hand" TabIndex="32" GroupName="years" />
                        <RadioButton x:Name="threeyears" Content="More Than 2 Years" Cursor="Hand" TabIndex="33" GroupName="years" />

The above example will place a fieldset control and a text label on to your xaml page.  Silverlight elements can be added to the control by setting the Content property.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace FieldSet
    public partial class Page : UserControl
        public Page()

In our C# below we declare some calendar controls and Silverlight labels and add them to our fieldset.  Any standard or vectorlight control can be added, though caution needs to be taken when adding certain standard Microsoft controls such as the Calendar which need a Width and Height setting applied before they are added.

Example FieldSet Control:

Silverlight FieldSet Control

Latest Forum Posts

Here are latest posts from around the forums, if you have a question about any of the Liquid controls you can get your answers in the Forum.

rajattandonmit posted on LiquidTreeView Font Size

Plz provide me the code !!

mpichol posted on Use treeview to navigate

How can  use the treeview control to navigate to different pages?



kellycline posted on Timing Question Related To Startup

I have a TreeView where I want the app to start with certain boxes checked and others not.  If I set the NodeCheckChanged event in the xaml, it fires for every checkbox before the page is loaded.  So, I have not subscribed to it until in the page's Loaded event.  I then set the boxes checked that I want.

My problem is that, more often than not, something happens after the page's Loaded event which resets ALL the checkboxes to NULL (including but not exclusively the ones I have changed).  More curious to me is that, sometimes, this "reset" does not happen, but, without my making any changes, if I just restart the app, more often than not, the reset does occur.  This reset does not fire the NodeCheckChanged event, even though the values are changed.

So, my question is, is there a point in the load/measure/display sequence where it is "safe" for me to change the checkbox values?  It looks like I am changing them too early and sometimes I'm just getting lucky that they "stick"...


I think this forum post answers it.


Hi anbdy help me for my issue

The parent items loading properly but child items loading as parent.

How can i add child items under parent id???I need to the coding in this way as follows....

How can i get clicked  nodeid to CustomerList4GeoManagerCompleted.Please help me

<liquidTreeView:Tree x:Name="GeoManagerTree" Canvas.Top="295" Canvas.Left="200" EnableCheckboxes="true" EnableDragAndDrop="false" Margin="4,4,6,-170"   Grid.Column="1" Grid.Row="3" />

Private Sub GeoManagerTree_Populate(sender As Object, e As Liquid.TreeEventArgs) Handles GeoManagerTree.Populate

        Dim nodes As ObservableCollection(Of Node) = (If(TypeOf sender Is Tree, DirectCast(sender, Tree).Nodes, DirectCast(sender, Node).Nodes))

        If _rootBuilding Then

            Dim Proxy As ComboLoadClient = New ComboLoadClient()

            AddHandler Proxy.LoadGeoManagerCompleted, AddressOf client_LoadGeoManagerCompleted

            Proxy.LoadGeoManagerAsync(" where Gp='" & Trim(TxtUsername.Text) & "' " & _

            "GROUP BY GeofenceName " & _

            "order by [GeofenceName] ")


            Select Case e.ID

                Case e.ID

                    ' ''Sql(Statement)

                    Dim Proxy As ComboLoadClient = New ComboLoadClient()

                    AddHandler Proxy.CustomerList4GeoManagerCompleted, AddressOf client_CustomerList4GeoManagerCompleted

                    Proxy.CustomerList4GeoManagerAsync("WHERE     Group = '" & Trim(TxtUsername.Text) & "')  ")

                    Exit Select

            End Select

        End If

    End Sub

Private Sub client_CustomerList4GeoManagerCompleted(ByVal sender As Object, ByVal e As CustomerList4GeoManagerCompletedEventArgs)

        Dim CntGeo As Integer = 0

        For CntGeo = 0 To e.Result.Count - 1

            nodes.Add(New Node(e.Result(CntGeo).EIdmanager, e.Result(CntGeo).EnameManager, True, "", ""))


    End Sub

brandtbridges posted on TreeView.EnableCheckboxes not working

I haven't seen anything about it in these forums, but in my experience, when you build a TreeView dynamically in the code behind, it doesn't matter whether you set EnableCheckboxes to true or false, it ALWAYS shows the checkbox.  Any ideas on why that would be or any possible workaround?

Rate this: 

1 Star 2 Star 3 Star 4 Star 5 Star
15 Ratings / 2.6 Average


Silverlight Controls

  • Rich TextBox

    Create and edit rich content with this slick and expandable Rich TextBox...

  • TreeView

    This easy to use TreeView comes with drag and drop, sorting, searching and much more...

  • Context Menu

    You too can have cool popup context menus in your Silverlight applications...

  • Resizable Dialog

    Draggable and resizable popup dialogs are what serious Silverlight developers need...

  • Spell Checker

    Real-time spell checking in Silverlight? We did it first here...