Как получить ItemsSource для обновления своей привязки?

У меня есть представление, которое показывает список, который связан сПолучить все():

<DockPanel>
    <ListBox ItemsSource="{Binding GetAll}"
             ItemTemplate="{StaticResource allCustomersDataTemplate}"
             Style="{StaticResource allCustomersListBox}">
    </ListBox>
</DockPanel>

GetAll () является свойством ObservableCollection в моей ViewModel:

public ObservableCollection<Customer> GetAll
{
    get
    {
        return Customer.GetAll();
    }
}

которые в свою очередьвызывает метод модели GetAll () который читает файл XML для заполнения ObservableCollection .:

public static ObservableCollection<Customer> GetAll()
{
    ObservableCollection<Customer> customers = new ObservableCollection<Customer>();

    XDocument xmlDoc = XDocument.Load(Customer.GetXmlFilePathAndFileName());
    var customerObjects = from customer in xmlDoc.Descendants("customer")
                          select new Customer
                          {
                              Id = (int)customer.Element("id"),
                              FirstName = customer.Element("firstName").Value,
                              LastName = customer.Element("lastName").Value,
                              Age = (int)customer.Element("age")
                          };
    foreach (var customerObject in customerObjects)
    {
        Customer customer = new Customer();

        customer.Id = customerObject.Id;
        customer.FirstName = customerObject.FirstName;
        customer.LastName = customerObject.LastName;
        customer.Age = customerObject.Age;

        customers.Add(customer);
    }

    return customers;
}

Все это прекрасно работает, за исключением случаев, когда пользователь переходит к другому виду,редактирует файл XML и возвращается к этой точке зрения, гдестарые данные все еще показывают.

Как я могу сказать этому представлению «обновить свои привязки», чтобы оно отображало фактические данные.

Такое ощущение, что я собираюсь рассказать о WPF со слишком большой метафорой HTML / HTTP, я чувствую, что есть более естественный способ заставить ObservableCollection обновлять себя, отсюда и его имя, но это единственный способ, которым я могу заставить пользователя иметь возможность редактировать данные в приложении WPF на данный момент. Так что помощь на любом уровне ценится здесь.

Ответы на вопрос(3)

Ваш ответ на вопрос