У меня есть окна сказатьКак уведомить модель представления родителя при изменении свойства модели представления ребенка?
- фотоальбомов (Родительское окно)
- PhotoAlbumProperty (ребенок)
В окне Фотоальбомы У меня есть поле со списком в списке фотоальбомов, кнопка NewAlbum, кнопку Сохранить , кнопка свойства.
Я хочу включить кнопку сохранения только тогда, когда мой PhotoAlbum находится в режиме редактирования. PhotoAlbum выйдет в режиме редактирования, когда я добавлю новые фотографии в альбом ИЛИ , если я изменю свойства, нажав кнопку свойства.
У меня есть свойства,
IsPhotoAlbumUpdated
в PhotoAlbumVM
IsPhotoAlbumPropertyUpdated
в PhotoAlbumPropertyVM
IsSaveEnabled
{
get return this.IsPhotoAlbumUpdated || this.SelectedAlbum.IsPhotoAlbumPropertyUpdated;
}
in PhotoAlbumVM
<Button Name="BtnSave" Command="{Binding Save}"
ToolTip="{x:Static resx:Resource.ToolTipSave}" Focusable="True"
IsEnabled="{Binding IsSaveEnabled}">
Теперь, когда this.SelectedAlbum.IsPhotoAlbumPropertyUpdated
получает изменил то, как будет мой родительский вид модели, т.е. PhotoAlbumVM это знать?
Я думал использовать призматические события, но для того, чтобы делать такую меньшую вещь, я не хочу использовать призматические события.
Пожалуйста, предложите мне альтернативную логику.
Event Aggregator - это не очень сложно. См. Легкую, простую и полезную версию Event Aggregator от @Rachel: https://rachel53461.wordpress.com/2011/10/09/simplifying-prisms-eventaggregator/ – StepUp
Да, я это реализовал. это приводит к проблеме производительности, мы уже использовали это в нашем приложении во многих местах. –