我有一个表单,可以方便长时间运行,产生一个运行日志。用MVVM / WPF实现这个的好方法是什么?
我可以将字符串属性绑定到TextBlock
或TextBox
并继续更新它,但这似乎是很多字符串生成。或者,我可以有一个字符串列表,不断添加新字符串并绑定到列表框。
是否有第三种选择或者上述任何一种选择优于另一种?
答案 0 :(得分:1)
我认为,除了想要利用INotifyPropertyChange
的MVVM考虑之外,所有这都是风格问题,而不是硬性和快速的规则。无论如何,你将为每次更新生成新的字符串,所以我不会非常担心它,除非内存成为约束,你必须扔掉旧的字符串或维护某种当前的缓冲区。你一直在考虑我经常使用的方法。
当我这样做的时候,我已经使用了一个TextBox,但是我没有强烈的论据来优先于TextBlock
。我通常也只使用ObservableCollection<string>
而不是列表来获取MVVM INotifyPropertyChange
的优点,并且每次更新都会将其添加到集合中。