Как сделать так, чтобы текст в текстовом поле только для чтения не выцветал?

#silverlight #windows-phone-7

#silverlight #windows-phone-7

Вопрос:

Я работаю над головоломкой Silverlight для Windows Phone 7, которая похожа на судоку. У меня есть текстовые поля для каждой ячейки головоломки. Проигрывателю для начала задаются числа, и я не хочу, чтобы они могли редактировать эти ячейки, поэтому я сделал их доступными только для чтения, но цвет становится блеклым и трудночитаемым. Что я пытаюсь сделать, это изменить цвет текста, но независимо от того, что я меняю, он остается тем же выцветшим цветом. Возможно ли это вообще?

Комментарии:

1. Почему бы вместо этого не использовать TextBlock?

Ответ №1:

Вам нужно будет отредактировать шаблон текстового поля в expression blend. Его состояния будут доступны только для чтения, которое вам нужно настроить по своему усмотрению. Больше информации здесь.

Ответ №2:

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

Если вы не слишком много работали с Expression Blend, вам стоит посмотреть руководства по «Редактированию шаблонов элементов управления» и «Визуальному менеджеру состояний».

Ответ №3:

Самый быстрый и простой способ — создать прямоугольник с непрозрачностью 0%, закрывающий поле, а затем фактически не делать его доступным только для чтения. Прямоугольник заблокирует любое действие пользователя по нажатию, и если вы захотите сделать его доступным для редактирования позже, вы можете свернуть прямоугольник.

Конечно, это не «правильно», но это работает и это просто.