Convert the contents of a ListBoxItem to an instance of GridLength by using GridLengthConverter
Column 0, Row 0Column 1, Row 0Column 2, Row 0Column 0, Row 1Column 1, Row 1Column 2, Row 1Column 0, Row 2Column 1, Row 2Column 2, Row 2255075100125150255075100125150
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Namespace GridLengthConverter_grid
Public Partial Class Window1
Inherits Window
Public Sub changeRowVal(sender As Object, e As RoutedEventArgs)
txt2.Text = "Current Grid Row is " + hs2.Value.ToString()
End Sub
Public Sub changeColVal(sender As Object, e As RoutedEventArgs)
txt1.Text = "Current Grid Column is " + hs1.Value.ToString()
End Sub
Public Sub changeCol(sender As Object, args As SelectionChangedEventArgs)
Dim li As ListBoxItem = TryCast(TryCast(sender, ListBox).SelectedItem, ListBoxItem)
Dim myGridLengthConverter As New GridLengthConverter()
If hs1.Value = 0 Then
Dim gl1 As GridLength = CType(myGridLengthConverter.ConvertFromString(li.Content.ToString()), GridLength)
col1.Width = gl1
ElseIf hs1.Value = 1 Then
Dim gl2 As GridLength = CType(myGridLengthConverter.ConvertFromString(li.Content.ToString()), GridLength)
col2.Width = gl2
ElseIf hs1.Value = 2 Then
Dim gl3 As GridLength = CType(myGridLengthConverter.ConvertFromString(li.Content.ToString()), GridLength)
col3.Width = gl3
End If
End Sub
Public Sub changeRow(sender As Object, args As SelectionChangedEventArgs)
Dim li2 As ListBoxItem = TryCast(TryCast(sender, ListBox).SelectedItem, ListBoxItem)
Dim myGridLengthConverter2 As New GridLengthConverter()
If hs2.Value = 0 Then
Dim gl4 As GridLength = CType(myGridLengthConverter2.ConvertFromString(li2.Content.ToString()), GridLength)
row1.Height = gl4
ElseIf hs2.Value = 1 Then
Dim gl5 As GridLength = CType(myGridLengthConverter2.ConvertFromString(li2.Content.ToString()), GridLength)
row2.Height = gl5
ElseIf hs2.Value = 2 Then
Dim gl6 As GridLength = CType(myGridLengthConverter2.ConvertFromString(li2.Content.ToString()), GridLength)
row3.Height = gl6
End If
End Sub
Public Sub setMinWidth(sender As Object, e As RoutedEventArgs)
col1.MinWidth = 100
col2.MinWidth = 100
col3.MinWidth = 100
End Sub
Public Sub setMaxWidth(sender As Object, e As RoutedEventArgs)
col1.MaxWidth = 125
col2.MaxWidth = 125
col3.MaxWidth = 125
End Sub
Public Sub setMinHeight(sender As Object, e As RoutedEventArgs)
row1.MinHeight = 50
row2.MinHeight = 50
row3.MinHeight = 50
End Sub
Public Sub setMaxHeight(sender As Object, e As RoutedEventArgs)
row1.MaxHeight = 75
row2.MaxHeight = 75
row3.MaxHeight = 75
End Sub
End Class
End Namespace