Imports System.Collections.ObjectModel Imports System.Globalization Namespace WpfApp050 Public Class ViewModel Public Property MyClassCollection As New ObservableCollection(Of Data)(New Data() { New Data With {.ItemColor = Brushes.Red, .[MyClass] = New Data2 With {.Id = "data 1"}}, New Data With {.ItemColor = Brushes.Green, .[MyClass] = New Data2 With {.Id = "data 2 34"}}, New Data With {.ItemColor = Brushes.Blue, .[MyClass] = New Data2 With {.Id = "data 3 456789012"}}}) Public Property TbInfo As String End Class Public Class Data Public Property ItemColor As Brush Public Property ItemIsEnabled As Boolean = True Public Property ItemIsSelected As Boolean = True Public Property [MyClass] As Data2 End Class Public Class Data2 Public Property Id As String End Class Public Class TBConverter Implements IMultiValueConverter Public Function Convert(values() As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IMultiValueConverter.Convert If values IsNot Nothing AndAlso values.Length = 2 AndAlso values(0) IsNot Nothing AndAlso values(1) IsNot Nothing Then Dim cbContent = values(0).ToString Dim tbText = values(1).ToString Dim lng = cbContent.Length + tbText.Length If lng >= 20 Then Return 20 If lng > 10 Then Return 10 End If Return 0 End Function Public Function ConvertBack(value As Object, targetTypes() As Type, parameter As Object, culture As CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack Throw New NotImplementedException() End Function End Class End Namespace