0

添加新项目时,直接绑定的 ObservableCollection 不更新 StackPanel 时遇到问题。任何初始项目都会正确显示。只有稍后添加的项目无法显示。XAML:

<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>

我正在使用 Prism MVVM,所以我绑定到我的 ViewModel,它有一个属性:

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

基本转换器和绑定正在工作,这可以通过我的初始项目正确显示的事实来证明。只有在初始绑定后添加到集合中的项目才不会显示。有任何想法吗?谢谢,瑞克

4

1 回答 1

2

我将大胆猜测并说它是您正在使用的 StaticResource。

如果你没有从它返回一个 ObservableCollection 并且你没有绑定它来观察原始的 ObservableCollection 变化,它就不会起作用。

您可以将代码发布到转换器吗?

于 2009-08-14T12:56:33.013 回答