У меня есть реализация MVVM, в которой у меня есть WPF ListBox, который будет содержать коллекцию дочерних элементов управления изображениями WPF. Источник для каждого элемента управления может изменяться так часто, как 3 раза в секунду. Когда в моем списке только одно изображение, жизнь становится великолепной, а мое приложение отзывчивым. Когда я начинаю иметь 4 или 5 дочерних изображений приложения, мое приложение начинает расти, я должен также упомянуть, что мне нужно преобразовать растровое изображение в растровое для каждого нового и / или обновленного изображения, которое у меня есть.
Как мне обновить мои дочерние элементы управления свойством Source, чтобы приложение оставалось максимально отзывчивым?
Вот текущий код в моей ViewModel:
public BitmapSource CameraBitmapSource
{
get
{
Application.Current.Dispatcher.BeginInvoke((Action)delegate
{
BuildImageSource();
}, DispatcherPriority.Background);
return this.cameraBitmapSource;
}
}
BuildImageSource () - это место, где я выбираю свое новое растровое изображение и преобразую его в BitmapSource, а затем назначаю его частному объекту cameraBitmapSource.