使用MVVM / Caliburn.Micro实现正在运行的文本日志的最佳方法是什么?

时间:2013-03-07 03:54:12

标签: wpf xaml mvvm caliburn.micro

我有一个表单,可以方便长时间运行,产生一个运行日志。用MVVM / WPF实现这个的好方法是什么?

我可以将字符串属性绑定到TextBlockTextBox并继续更新它,但这似乎是很多字符串生成。或者,我可以有一个字符串列表,不断添加新字符串并绑定到列表框。

是否有第三种选择或者上述任何一种选择优于另一种?

1 个答案:

答案 0 :(得分:1)

我认为,除了想要利用INotifyPropertyChange的MVVM考虑之外,所有这都是风格问题,而不是硬性和快速的规则。无论如何,你将为每次更新生成新的字符串,所以我不会非常担心它,除非内存成为约束,你必须扔掉旧的字符串或维护某种当前的缓冲区。你一直在考虑我经常使用的方法。

当我这样做的时候,我已经使用了一个TextBox,但是我没有强烈的论据来优先于TextBlock。我通常也只使用ObservableCollection<string>而不是列表来获取MVVM INotifyPropertyChange的优点,并且每次更新都会将其添加到集合中。