2009-08-13 33 views
0

Ich habe ein Problem mit einer direkt gebundenen ObservableCollection, die ein StackPanel nicht aktualisiert, wenn neue Elemente hinzugefügt werden. Alle anfänglichen Elemente werden korrekt angezeigt. Nur Elemente, die später hinzugefügt werden, können nicht angezeigt werden. XAML:StackPanel wird nicht aktualisiert

<ItemsControl x:Name="ImageTable" ItemsSource="{Binding Path=SystemObjectViewItems, Converter={StaticResource UIElementWrapper}}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 

    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <ContentPresenter Content="{Binding Path=Value.View}"/> 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 

</ItemsControl> 

I Prism MVVM bin mit so ich meine Viewmodel bin Bindung, welche eine Eigenschaft hat:

public ObservableCollection<SystemObjectViewPresentationModel> SystemObjectViewItems {get; set; } 

Grundgerät und Bindung arbeiten, wie durch die Tatsache bewiesen, dass meine Anfangsartikel wird korrekt angezeigt. Es sind nur Elemente, die nach der ersten Bindung zur Sammlung hinzugefügt werden und nicht angezeigt werden. Irgendwelche Ideen? Danke, Rick

+0

Sind Sie sicher, dass beim Hinzufügen von Elementen zur Liste oder vom Konverter keine Ausnahmen ausgelöst werden, nachdem das Element hinzugefügt wurde? – opedog

+0

Ja, ich bin mir ziemlich sicher. Haben Sie, abgesehen davon, dass Sie mit dem unbehandelten Exception-Handler gebrochen haben, irgendwelche Ideen, wie Sie das erkennen können? – rboarman

+0

Beobachten Sie Ihr VS-Ausgabefenster auch auf verbindliche Fehler. –

Antwort

2

Ich werde eine wilde Vermutung nehmen und sagen, es ist die StaticResource, die Sie verwenden.

Wenn Sie keine ObservableCollection zurückgeben und Sie die ursprünglichen ObservableCollection-Änderungen nicht sehen, funktioniert das nicht.

Können Sie den Code an den Konverter senden?