Задать вопрос
kykyryky
@kykyryky

Почему не до конца работает биндинг List на ListBox?

Есть такой код во ViewModel:
private List<string> items;
public List<string> Items
        {
            get
            {
                items = new List<string> { "1", "2", "3" };
                return items;
            }
        }


XAML:
<ListBox x:Name="listBox"
                 Width="612"
                 Height="475"
                 Margin="24,179,0,0"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 ItemsSource="{Binding Path=Items,
                                       Mode=OneWay}">

            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding}" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>


В данном случае в listbox выводятся 3 строки с 1 2 и 3. Вроде всё нормально.
Потом я убираю строку с созданием списка из геттера
private List<string> items;
public List<string> Items
        {
            get
            {
                return items;
            }
        }

и пытаюсь добавить элемент. Например в конструкторе ViewModel:
items = new List<string>();
items.Add("4");

При этом в listbox ничего не появляется. Items.Add("4") - та же ерунда.
Что мне нужно сделать, чтобы элемент добавлялся и список отображался в listbox?
  • Вопрос задан
  • 782 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 2
yarosroman
@yarosroman Куратор тега C#
C# the best
Использовать ObservableCollection. List не оповещает о добавлении элемента в список.
Ответ написан
Комментировать
Тыц или стелять PropertyChange при добавлении вручную
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы