当前位置: 首页 > 编程语言 > C#

如何确保ViewModel属性在再次更改之前已绑定到视图上?分享

时间:2023-04-10 15:34:36 C#

如何确保ViewModel属性在再次更改之前已经绑定到视图上?存在以下情况:ViewModel有一个变化非常快的对象。(通过不同的线程)View通过NotifyPropertyChanged接口得到通知,但它看起来很慢并且它在View绑定新值并绘制之前更改时间,因此它遗漏了一些值。我还尝试将视图绑定到队列,然后ViewModel可以将其入队,并且可以通过出队来绘制视图。不幸的是,另一个问题发生了:在RaisePropertyChanged(()=>queue);不会通知视图已更改。在这种情况下,INotifyPropertyChanged接口的实现无效。你有什么想法?ViewModel示例代码:}publicvoidProcessNotificationMessage(Messagemessage){MessageOftenBeingChanged=message;提高(属性()=>MessageOftenBeingChanged);视图绑定到MessageOftenBeingChanged。另一种选择是按照评论中的建议准备快照:publicvoidProcessNotificationMessage(Messagemessage){Messages.Enqueue(message);RaisePropertyChanged(()=>消息);}View:{_paragraph.Inlines.AddRange(MonitorItemConverter.ConvertToInlines(monitorEventArgs.MonitorItem));_richTextBox。ScrollToEnd();}));更多内容在RichTextBox中如果要获取很多项目,我会将整个日志转储到一个文件中。以上是C#学习教程:如何确保ViewModel属性在再次改变之前已经绑定到view上了?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: