【发布时间】:2015-05-22 10:43:00
【问题描述】:
我已经定义了这个类
[ImplementPropertyChanged]
public class ChatInfo : IMessageData
{
public ObservableCollection<Message> messages { get; set; }
[JsonIgnore]
public Message LastMessage
{
get
{
return messages.Last();
}
}
}
该类通过 JSON.NET(James King) 反序列化,然后在我手动将新项目推送到 messages 之后。 LastMessage 属性绑定到视图,但即使 messages 集合更改,LastMessage getter 也不会被调用。当我每次将messages 设置为新集合时,一切正常,为什么LastMessage 不响应来自ObservableCollection 的集合更改事件?
【问题讨论】:
-
我怀疑 Fody.PropertyChanged 会分析代码并订阅
CollectionChanged。你必须自己做。 -
您可能还需要显示您的 xaml 代码,以了解当消息集合更改时如何通知视图?接下来,如果不是在您的 xaml 代码中编写,您可能必须手动引发 LastMessage 的 propertyChanged 事件。
标签: c# binding windows-phone-8.1 observablecollection