Я работаю с MVVM и Entity Framework. У меня есть объект «Quote» со свойством навигации «QuoteProducts», которое содержит все продукты в цитате.
Мой ViewModel имеет свойство «CurrentQuote», которое имеет тип «Цитата», и мое представление имеет следующий ListBox:
<ListBox ItemsSource="{Binding CurrentQuote.QuoteProducts}">
Отлично работает, по большей части. Я загружаю цитату, ListBox заполняется, и все супер. Однако, когда я добавляю новый продукт, используя
QuoteProduct product = new QuoteProduct();
product.Product = SelectedProduct;
CurrentQuote.QuoteProducts.Add(product);
новый продукт не отображается в ListBox. Я немного читал, и похоже, причина в том, что коллекция за свойством навигации не уведомляет пользовательский интерфейс о том, что оно изменилось. Но то, что я не нашел, было чистым способом заставить это делать именно это.
Я видел одно решение, которое требовало вести отдельный список QuoteProducts, привязывать его и добавлять к обоим при добавлении продукта, но это не похоже на правильный путь.
Можно ли каким-либо образом привязать функциональность к моей модели данных, чтобы она уведомляла об изменении коллекций?