У меня есть приложение WPF, в котором я пытаюсь создать «панель диагностики», которая очень похожа на «Окно вывода» в Visual Studio 2010. Оно просто содержит текстовое поле, в котором все типы вывода собираются и добавляются в текстовое поле с использованием метода .AppendText()
.
У нас есть пара клиентов, которые постоянно отключают эту панель диагностики и никогда не очищают ее. В результате отображается очень большое количество текста, поскольку новые данные продолжают поступать ...
В WPF TextBox есть свойство MaxLength, которое я оставляю равным 0. Согласно документации MSDN, «Когда это свойство имеет значение 0, максимальная длина текста, который может быть введен в элемент управления, ограничена только доступным память. "
Для клиентов, которые оставляют эту панель открытой, я не хочу просто позволить тексту и памяти неконтролируемо расти ... Я думаю, что это может в конечном итоге привести к зависанию приложения ...
Мне любопытно, есть ли хороший способ управления этим ... Я хочу сохранить определенное количество строк, отображаемых в текстовом поле, и отбрасывать самые старые, когда появляются новые строки ...
Есть мысли?
Спасибо!