VB.Net список StackPanel с WPF xaml
Я создал приложение, в котором перечислены разные профили, а затем показаны разные параметры в зависимости от того, какой профиль выбран. Некоторые из опций показаны в нескольких профилях. Я использую WPF xaml для создания панелей стека с именами, а затем устанавливаю видимость в зависимости от того, какой профиль выбран, как в следующем примере, который работает (реальное приложение использует несколько операторов elseif вместо одного оператора if):
Private Sub ProfileComboBox_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ProfileComboBox.SelectionChanged
Dim selectedItem = ProfileComboBox.SelectedItem
If (selectedItem = "Workforce") Then
Label1.Visibility = Visibility.Visible
ComputerName.Visibility = Visibility.Collapsed
Country.Visibility = Visibility.Visible
endif
То, что я хотел бы сделать, это изменить его на цикл for, чтобы у меня было меньше мест, которые я должен изменить, если я добавлю или уберу опции. Например, я попробовал приведенный ниже код, который не работает. Я получаю ошибку "Переменная объекта или переменная блока не установлена"
Public PropertiesList() = {Application, Label1, Department, Country, Account, FirstName, LastName, AssetTag, Region, SubmitButton}
Public DefaultList() = {Application}
Public WorkForceList() = {Department, Country, Account, FirstName, LastName, AssetTag, Region, SubmitButton}
For i As Integer = 0 To PropertiesList.Count - 1
If DefaultList.Contains(PropertiesList(i)) Then
PropertiesList(i).Visibility = Visibility.Visible
Else
PropertiesList(i).Visibility = Visibility.Collapsed
End If
Next
Любая помощь приветствуется.