Я пытался работать с библиотекой составных приложений (Prism), и я установил довольно стандартный шаблон, которому я следовал из руководства Microsoft. По сути, представление вводится в регион. Представление создается динамически, добавляя элементы управления и т. Д. Все программно.
У меня есть команда, которая запускается, и при обратной передаче я хотел бы перепривязать элементы управления в текущем представлении, вместо того, чтобы полностью перерисовывать все элементы управления снова.
Поэтому я попытался обновить модель обновленной версией, надеясь, что это приведет к повторному связыванию элементов управления. Это не работает Не уверен, какой подход я должен использовать, потому что я новичок в Призма ...
Есть идеи?
Подписаться на событие для обработки постбэков
IEventAggregator aggregator = this.Container.Resolve<IEventAggregator>();
aggregator.GetEvent<DataInstanceLoadedEvent>().Subscribe(this.OnDataInstanceUpdated);
Проведение мероприятия
public void OnDataInstanceUpdated(DataInstance updatedInstance)
{
if(this.View.Model != null){
// We need to rebind here
IRegion region = this.LocateRegion(this.View); // gets the region....
this.View.Model.CurrentDataInstance = updatedInstance; // update the model instance
}
else{
// Render all controls over again since view.model is null ...
}
}