2013-02-26 3 views
12

enter image description hereУдалить кнопку "X" в конце TextBox

Я разрабатываю App Store, Windows, с помощью C# + XAML. Когда я добавляю TextBox с свойством TextWrapping, установленным в NoWrap, «X» появляется в конце TextBox, когда он сфокусирован.

Итак, мне нужно удалить этот «X», и TextBox не может обернуть.

Спасибо!

+2

Почему вы хотите удалить этот X? Это действительно полезно для людей, использующих прикосновение. – MarcinJuraszek

+1

Возможный дубликат [Удалить IE10 «очистить поле» на некоторых входах?] (Http://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs) –

+4

Если это приложение «Магазин», подумайте дважды об удалении этого X. Удалите его только в том случае, если очистка содержимого поля не имеет смысла (редко для текстового поля, не могу сразу придумать причину), и даже тогда проверить его на ощупь перед выпуском (если вы найдете способ, как это сделать). – hyde

ответ

4

Как вы можете видеть из этой документации объясняет функцию вполне well. Как вы можете видеть при использовании Javascript, Html или Css, у вас есть очень быстрые краткие способы удаления этого поля. Как вы можете просто отключить его с помощью Cascading Stylesheets.

Image it displays. To Edit.

Теперь в таблице стилей вы можете изменить его довольно просто:

input[type=text]::-ms-clear 
{ 
      border: 2px solid orange 
} 

Большинство кнопок очень легко использовать для последовательного дизайна в приложении.Но это не отвечает на ваш вопрос, как вы отключите его с помощью C#/XAML?

Внутри текстового компонента вы увидите код, который указывает визуальное состояние и видимость. Если вы закомментируете этот раздел кода, он отключит X. Пример here:

Как уже упоминалось выше, это очень изящный и полезный инструмент. Особенно на устройствах с сенсорным экраном; он не только совместим с унификацией Microsoft, но и делает UI более чистым, поскольку у вас есть простой способ удалить элементы в этом поле.

Я бы посоветовал вам не удалять его, надеюсь, это немного объяснит вам проблему.

+0

Это сработало. Спасибо, Грег. Причина, по которой я хочу удалить кнопку очистки, заключалась в том, что она была действительно несовместима с дизайном. Но не волнуйтесь, я отключил его только на одном TextBox. Все остальные по-прежнему имеют эту (полезную) кнопку Clear. –

+0

Я рад помочь. – Greg

6

X есть функция доступности. Это упрощает очистку ящика на сенсорных устройствах, так как выбор текста и удаление удаленных файлов сложны и выполняются несколько шагов.

Так что, пожалуйста, не отключайте это, если у вас нет очень важной причины для этого. Не существует свойства отключить «X», и команда продуктов не намерена отключать его. Однако в образовательных целях я покажу, что вы можете отключить его, изменив Стиль.

В Expression Blend щелкните правой кнопкой мыши текстовое поле и выберите Редактировать шаблон -> Изменить копию. Дайте вашему шаблону имя типа «NoXTextBox» и обязательно сохраните его на уровне приложения (иначе вы сможете использовать его только на текущей странице).

Blend затем переключается в режим редактирования внешнего вида TextBox вместо страницы. На панели объектов и временной шкалы вы должны увидеть элемент с именем DeleteButton. Вы можете удалить эту кнопку из своего шаблона и сохранить свою работу. Нажмите кнопку в верхней части панели «Объекты» и «Временная шкала», которая выглядит как горизонтальная линия со стрелкой вверх (при наведении курсора на эту кнопку он скажет «Вернуться к области [Страница]»). Теперь вы вернетесь к редактированию своей страницы вместо редактирования текстового поля.

Чтобы сделать больше текстовых полей, подобных этому, вы можете скопировать и вставить его, или в панель инструментов «Смешивание» под веткой «Стили» вы увидите свой «NoXTextBox».

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

поддержка Dev, поддержка дизайна и более удивительные добра на пути: http://bit.ly/winappsupport

+1

Кнопка очистки действительно полезна, @ Jared. Но я решил удалить эту кнопку только из одного TextBox, и это было из-за вопроса дизайна. Большой X в конце этого TextBox действительно странный. Спасибо за ответ! –

7

Как все заявили, вы действительно не должны удалять «X», если только у вас нет по-настоящему веской причины для этого.

Чтобы удалить X, вместо того, чтобы TextWrapping к «Nowrap», вы должны установить его TextWrapping = «Wrap»

0

Редактировать шаблон управления и удаления Кнопка удаления в шаблоне и его ссылки.

Смежные вопросы