Если у Вас должен быть допускающий повторное использование метод для добавления текста, можно создать новый стиль/ControlTemplate, который имеет дополнительный TextBlock для отображения текста. Можно похитить TextSearch. Текст присоединил свойство для установки текста на индикаторе выполнения.
, Если это не должно быть допускающим повторное использование, просто помещает индикатор выполнения в Сетку и добавляют TextBlock к сетке. Так как WPF может составить элементы вместе, это будет работать приятно.
, Если Вы хотите, можно создать UserControl, который представляет ProgressBar и TextBlock как общественные собственности, таким образом, это было бы меньше работы, чем создание пользовательского ControlTemplate.
Взгляните на Шаблон реактора
http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
Как вы хотите, чтобы ваши селекторы работали, действительно зависит от вашего сценария использования. (Количество подключений, размер сообщения и т. Д.)
Какую проблему вы пытаетесь решить путем преобразования из IO в NIO?
Вам действительно стоит заглянуть в Mina,
Он решает все проблемы, о которых вы упомянули.