2009-07-16 7 views
0

Я ищу текст с волнистыми красными линиями, где слово с ошибкой, но я хочу, чтобы текст был доступен для выбора, а не редактировался. Если я установил свойство IsReadOnly TextBox в True или IsEnabled для False, волновые красные линии исчезнут, и я не смогу обойти его, добавив что-то прозрачное, поскольку это не позволит пользователю выбирать разделы текста.WPF: использовать проверку орфографии только для чтения TextBox

В любом случае, я могу сохранить красные линии, разрешить выбор текста, но предотвратить изменение фактического текста?

Благодаря

ответ

0

Спасибо, Дэвид. В настоящее время я рассматриваю 2 возможных решения:

Я создал пользовательский элемент управления, основанный на стандартном TextBox, но фактически имеет 2 текстовые поля, расположенные друг над другом в этой усадьбе:

<TextBox Name="tbxBack" 
     Foreground="Transparent" 
     SpellCheck.IsEnabled="True" 
     TextWrapping="Wrap" 
     SnapsToDevicePixels="True"/> 
<TextBox Name="tbxFront" 
     Background="Transparent" 
     TextWrapping="Wrap" 
     SnapsToDevicePixels="True" 
     IsReadOnly="True"/> 

Я думаю, что это прямолинейно, что здесь происходит, но я обеспокоен потенциальными издержками, которые это вызовет.

Причина, по которой я рассматриваю двойное решение TextBox, заключается в том, что я волнуюсь, если я попытаюсь отменить это событие, он может закончиться каким-то миганием в элементе управления, когда текст будет изменен.

2

Вы можете подключить к на события изменения текста в текстовом поле, а просто отвергающие новый текст. Он будет иметь тот же эффект, что и только в том случае, если вы не выберете текстовое поле или не избавитесь от проверки орфографии.