Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
xZooYx
120 / 101 / 9
Регистрация: 12.06.2012
Сообщений: 318
Записей в блоге: 12
1

Отловить нажатие Enter в TextBox и выполнить определенный код

23.09.2012, 12:26. Просмотров 4696. Ответов 6
Метки нет (Все метки)

Есть приложение на Silverlight 4 с текстовым полем поиска и кнопкой, запускающей поиск. Код такой:
HTML5
1
2
<TextBox Name="SeatchString" />
<Button Name="FindButton" Command="{Binding SeachCommand}" CommandParameter="{Binding ElementName=SeatchString, Path=Text}" Content="Find" />
Вопрос в том, как сделать, чтобы при нажатии клавиши Enter в поле поиска запускался поиск (т.е. либо как то прописать вызов команды на событие нажатия клавиши, либо эмулировать нажатие кнопки поиска).
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 12:26
Ответы с готовыми решениями:

Можно ли, используя только триггеры, обработать нажатие клавиши Enter в TextBox
Есть элемент TextBox. Вопрос: можно ли только используя триггеры достичь такого эффекта: если этот...

Отловить нажатие клавиши tab и выполнить программное нажатие enter
Подскажите пожл как осуществить подобное действие, в принципе нажатие на клавишу enter я итак знаю...

Отловить нажатие Enter
Доброй всем ночи, у меня вопрос. Я написал код который должен отловить нажатие Ентера, вот он: ...

Отловить нажатие на enter
Добрый вечер. Как отловить нажатие на ентер? Делаю так: &lt;input type = &quot;button&quot; onclick =...

SFML отловить нажатие Enter
У меня есть построчное меню, там 3 строки, навигация по ним есть, загвоздка только в одном: в...

6
Stipashka
7 / 7 / 2
Регистрация: 23.08.2011
Сообщений: 64
26.09.2012, 19:43 2
С WinForms не подойдет?
C#
1
2
3
4
5
6
7
8
private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                //Действие
                //Close();
            }
        }
Я просто не в курсе можно ли так в Silverlight.
1
xZooYx
120 / 101 / 9
Регистрация: 12.06.2012
Сообщений: 318
Записей в блоге: 12
26.09.2012, 21:32  [ТС] 3
Нет, это вообще из другой оперы...
0
obrazer
71 / 71 / 3
Регистрация: 04.09.2012
Сообщений: 170
27.09.2012, 18:12 4
Интересно, отчего это из другой оперы?

В Silverlight TextBox имеет обработчик KeyDown. Параметры, кстати, такие-же, как и в WinForms.

Отлавливай нажатие, определяй, что это Enter, выполняй код... Stipashka все верно написал
1
xZooYx
120 / 101 / 9
Регистрация: 12.06.2012
Сообщений: 318
Записей в блоге: 12
27.09.2012, 18:34  [ТС] 5
Если вы посмотрите на код, то увидите, что команда задана декларативно. Соответственно, хотелось бы также декларативно указать связь элементов управления и их поведения

Добавлено через 3 минуты
Кроме того, даже если делать все через код, то как через код нажать кнопку?
0
obrazer
71 / 71 / 3
Регистрация: 04.09.2012
Сообщений: 170
27.09.2012, 20:46 6
А насколько обязательно задавать команду декларативно?

А почему бы не вынести код поиска в отдельную функцию и не вызывать её через декларативную команду и через обработчик нажатия клавиши раздельно?

Вообще писать функции дейстивй непосредственно в обработчиках событий элементов - моветон.
0
xZooYx
120 / 101 / 9
Регистрация: 12.06.2012
Сообщений: 318
Записей в блоге: 12
28.09.2012, 11:04  [ТС] 7
Цитата Сообщение от obrazer Посмотреть сообщение
А почему бы не вынести код поиска в отдельную функцию и не вызывать её через декларативную команду и через обработчик нажатия клавиши раздельно?
Код поиска и так в отдельном методе и декларативно привязан к кнопке и хотелось бы также декларативно привязать его к полю.
На самом деле я прекрасно понимаю, что в любом случае нужен некий кусок кода для текстового поля, который определит какая кнопка нажата и вызовет некую команду. Но хотелось бы чтобы эта команда задавалась через XAML, а не где то в коде code-behind.

Добавлено через 31 минуту
Походу я нашел то, что мне нужно, вот.
0
28.09.2012, 11:04
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2012, 11:04

Отловить нажатие клавиши Enter в форме
private void button1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode...

Не получается отловить нажатие клавиши Enter в textBox1
Добрый день. У меня такая проблема: Необходимо в textBox1 отловить нажатие кнопки Enter и выполнить...

Как отловить нажатие Enter в текстовом поле
&lt;input type='text'...?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.