Это очень странно. Каретка должна исчезнуть при изменении фокуса, например, когда вы щелкаете из текстового поля. Вы не можете использовать устаревшую функцию WINAPI «HideCaret», поскольку это не стандартный элемент управления Windows - это WPF.
Этот вопрос касается противоположности вашей проблемы, поскольку ваша проблема даже не должна возникать, и решение было очень простой строкой кода. Возможно, если вы перевернете логику или узнаете, что ваш код уже делает это, и отключите эту часть - вы можете получить искомый результат: Текстовое поле WPF сохранит видимый курсор
Кроме того, если вы используете последнюю версию WPF, вы, вероятно, можете переназначить кисть, которую использует каретка.