Ошибка разметки XAML при привязке List <string>к ComboBox ItemSource в WPF - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь реализовать MVVM в приложении WPF, но сталкиваюсь со странной проблемой, когда List<string> явно обрабатывается как string и нарушает конструктор XAML.

из XAML:

<ComboBox Grid.Row="0" 
          Grid.Column="1" 
          Name="ServerListComboBox" 
          HorizontalAlignment="Stretch" 
          VerticalAlignment="Top" 
          Margin="10" 
          Padding="5" 
          ItemsSource="Bind ServerList"/>

из ViewModel:

public List<string> ServerList
{
    get { return model.ServerList; }
    set
    {
        model.ServerList = value;
        OnPropertyChange(nameof(ServerList));
    }
}

из модели:

 public List<string> ServerList { get; set; }

Разработчик говорит Неверная разметка и выдает эту ошибку:

Ошибка XDG0028 TypeConverter для "IEnumerable" не поддерживает преобразование из строки.

Очевидно, что это List<string>, а не string, и компиляция в порядке, но я больше не могу использовать конструктор XAML. Есть что-то простое, что я пропускаю, чтобы дизайнер снова работал? Спасибо за любые советы, советы или помощь

1 Ответ

2 голосов
/ 14 февраля 2020

Изменение:

ItemsSource="Bind ServerList"

на:

ItemsSource="{Binding ServerList}"
...