Чтобы ответить на вопрос о перенаправлении вывода консоли:
Вы будете лучше изменить код, чтобы стрелять событие с строкой, которую вы хотите вывести. Затем в пользовательском интерфейсе добавьте обработчик для этого события и в обработчике обновите текстовое поле.
Чтобы объявить событие добавить что-то вроде этого кода в классе обработки:
public event EventHandler<StringEventArgs> Process_Message;
где StringEventArgs
класс основан на EventArgs
, который оборачивает сообщение для отправки.
Чтобы запустить событие добавить что-то вроде этого кода в классе обработки:
Process_Message(this, new StringEventArgs(message));
Чтобы прикрепить обработчик сообщений в вашем классе UI:
process.Process_Message += Process_Message;
Для обработки события добавить что-то вроде этого код вашего пользовательского интерфейса:
private void Process_Message(object sender, StringEventArgs e)
{
Action action =() => UpdateStatus(e.Message);
{
Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, action);
}
else
{
action();
}
}
Вам необходимо выполнить проверку резьбы как U Я не могу обновляться из другого потока.
Тогда UpdateStatus
метод:
private void UpdateStatus(string message)
{
statusTextBox.Text = message;
}
Очевидно, что вам нужно переименовать вещи, чтобы соответствовать вашему приложению.
Поиск событий и EventArgs
в MSDN.
Почему вы хотите перенаправить вывод консоли в текстовое поле? Диагностика? Логирование? – flq
Пожалуйста, задавайте разные вопросы в другом вопросе. :) –