我有一个列表框与数据绑定到一个项目的付款。当我添加新付款时,付款将被添加到列表中。add-page还用于编辑付款。事件被调用,在调试模式下,我可以看到我的付款的更改值,但ListBoxItem不会被更新。在添加页面的末尾将调用一个事件,该事件将更新列表框项目:
GlobalNotifier.OnPaymentAdded();OnPaymentAdded调用一个只通知属性更改的方法:
OnNotifyPropertyChanged("Project");列表框的代码:
<ListBox Name="ListPayments" ItemsSource="{Binding Project.Payments}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="10,5,10,0">
<StackPanel>
<TextBlock FontSize="30" Text="{Binding Name}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>为什么添加了新项,但未更新现有项?有什么想法吗?
发布于 2012-07-24 19:15:02
实际情况是,尽管Project-object已更新,但Payments对象(假设为List)并未更新。
您可以尝试以下内容:
List-object时,触发PropertyChanged-event ProjectsList<Project>切换到ObservableCollection<Project>,这肯定会解决您的问题ObservableCollection,请在显示列表的视图中实现D15的覆盖,并从列表中调用D16-事件(项目、付款等)。H217G218其中任何一个都可以解决你的问题--这都是品味和喜好的问题。
发布于 2012-07-23 23:07:52
听起来你的item属性不是依赖属性,或者没有人为它们触发propertychanged。
https://stackoverflow.com/questions/11615176
复制相似问题