protected override void OnModelPropertyChanged( string propertyName ) { if( propertyName == "Presentation" ) { if( Presentation == Model.Presentation ) { return; } Presentation = Model.Presentation; Labels.Clear(); var converter = new GenericLabelConverter( ConversionSteps ); var captionModule = Presentation.GetPropertySetFor<Caption>(); foreach( var node in Presentation.Graph.Nodes ) { var label = new LabelViewModel( captionModule.Get( node.Id ).Label ); label.Commited = converter.Convert( label.Original ); Labels.Add( label ); } OnPropertyChanged( "Labels" ); } }