Below is the code i am using for visualitemcreating, however the layout is not coming out proper, can anyone please help me with this.
When i run the code, i am getting the listview as which does not include the role and email details that should com in the second row.
Please help, i am unable to find what i am missing here.
Public Class CustomUserVisualItem
Inherits SimpleListViewVisualItem
Private Row1Element As LightVisualElement
Private Row2RoleElement As LightVisualElement
Private Row2EMailElement As LightVisualElement
Private stackLayoutMain As StackLayoutPanel
Private stackLayoutRow2 As StackLayoutPanel
Protected Overrides Sub CreateChildElements()
MyBase.CreateChildElements()
Me.stackLayoutMain = New StackLayoutPanel()
Me.stackLayoutMain.Orientation = Orientation.Vertical
Me.stackLayoutMain.EqualChildrenWidth = True
Me.stackLayoutMain.ShouldHandleMouseInput = False
Me.stackLayoutMain.NotifyParentOnMouseInput = True
Me.Children.Add(Me.stackLayoutMain)
Me.Row1Element = New LightVisualElement()
Me.Row1Element.StretchHorizontally = True
Me.Row1Element.MinSize = New Size(120, 0)
Me.Row1Element.ShouldHandleMouseInput = False
Me.Row1Element.NotifyParentOnMouseInput = True
Me.stackLayoutMain.Children.Add(Me.Row1Element)
Me.stackLayoutRow2 = New StackLayoutPanel()
Me.stackLayoutRow2.Orientation = Orientation.Horizontal
Me.stackLayoutRow2.EqualChildrenWidth = True
Me.stackLayoutRow2.ShouldHandleMouseInput = False
Me.stackLayoutRow2.NotifyParentOnMouseInput = True
Me.stackLayoutMain.Children.Add(Me.stackLayoutRow2)
Me.Row2EMailElement = New LightVisualElement()
Me.Row2EMailElement.Text = "Email"
Me.Row2EMailElement.MinSize = New Size(60, 0)
Me.Row2EMailElement.TextAlignment = ContentAlignment.MiddleLeft
Me.Row2EMailElement.NotifyParentOnMouseInput = True
Me.Row2EMailElement.ShouldHandleMouseInput = False
Me.stackLayoutRow2.Children.Add(Me.Row2EMailElement)
Me.Row2RoleElement = New LightVisualElement()
Me.Row2RoleElement.Text = "Role"
Me.Row2RoleElement.MinSize = New Size(60, 0)
Me.Row2RoleElement.TextAlignment = ContentAlignment.MiddleRight
Me.Row2RoleElement.NotifyParentOnMouseInput = True
Me.Row2RoleElement.ShouldHandleMouseInput = False
Me.stackLayoutRow2.Children.Add(Me.Row2RoleElement)
End Sub
Protected Overrides Sub SynchronizeProperties()
MyBase.SynchronizeProperties()
Dim product As UsersList = TryCast(Me.Data.Tag, UsersList)
Dim color As String = ""
If product.userstatus = "Active" Then
color = "Green"
Else
color = "Red"
End If
Me.Text = ""
Me.Row1Element.Text = "<html><span style=""color: " & color & "; font-size: 12pt;"">• </span> <span style=""font-size:12pt;"">" & product.firstName & " " & product.lastName & "</span>"
Me.Row2RoleElement.Text = "<html><span style=""font-size:9pt;"">" & product.role & "</span>"
Me.Row2EMailElement.Text = "<html><span style=""font-size:9pt;"">" & product.email & "</span>"
End Sub
Protected Overrides ReadOnly Property ThemeEffectiveType() As Type
Get
Return GetType(SimpleListViewVisualItem)
End Get
End Property
End Class