我遇到了直接绑定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; }
基本转换器和绑定工作正常,因为我的初始项目正确显示。它只是在初始绑定后未显示的项目中添加的项目。 有任何想法吗? 谢谢, 瑞克
答案 0 :(得分:2)
我会猜测并说这是你正在使用的StaticResource。
如果你没有从它返回一个ObservableCollection并且你没有绑定它来观察原始的ObservableCollection更改它将无法工作。
您可以将代码发布到转换器吗?