|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|
TextBox свойства14.01.2020, 19:57. Показов 2861. Ответов 33
Метки нет (Все метки)
Здравствуйте.
ТехтBox... даже не знаю как сказзать -то... вводишь знак в поле и когда он в фокусе кажется значение далее не "проваливатся" в регистр что-ли. Когда переносишь фокус на другой объект, то TextBox как-бы двигает значение далее и с ним можно работать. Можно как-то без "фокуса" это делать?
0
|
|
| 14.01.2020, 19:57 | |
|
Ответы с готовыми решениями:
33
Привязка свойства к TextBox Передача значений из textbox в свойства классов Обновление связанного с TextBox свойства в момент набора текста |
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 14.01.2020, 20:35 | |
|
Ахромчон, ничего не понял
0
|
|
|
Модератор
|
|
| 14.01.2020, 21:24 | |
|
Ахромчон, вы за передачу значений по привязкам?
Если да, то за это отвечает свойство привязки UpdateSourceTrigger . Для передачи значений сразу, а не после потери фокуса надо задать UpdateSourceTrigger=PropertyChanged
1
|
|
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|||||||
| 14.01.2020, 22:07 [ТС] | |||||||
0
|
|||||||
|
Модератор
|
|||
| 14.01.2020, 23:17 | |||
|
НО! Для большинства свойств это режим по умолчанию. Для TextBox.Text - точно этот режим и так установлен. Добавлено через 2 минуты Задержка целую секунду. Может раздражать. Для чего вы, вообще, установили этот параметр? Он имеет смысл только при очень частых (десятки и более раз в секунду) и масштабных (десятки привязок) обновлений значений.
1
|
|||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|||||||
| 15.01.2020, 08:11 [ТС] | |||||||
|
Вы когда -нибудь делали себе такое? -кнопка. Жмете ее. происходит (1-10сек.) операция вызванная этой кнопкой. Button event сработал. Чтобы юзер (особенно буйные ) не "долбили" эту кнопку во время операции, она становится что-то типа "disabled" на время 2-3 сек (время подгоняется).это "красиво" делает кнопку "disabled", но и убивает Event.
0
|
|||||||
|
Модератор
|
|||||||||||||||||
| 15.01.2020, 10:53 | |||||||||||||||||
|
Так делать нельзя - только путаете сами себя. Что такое "Нажал на кнопку" - это обратился к команде обрабатывающей данные. Что такое " не "долбили" эту кнопку во время операции" - это во время каких-то действия состояние команды должно быть неактивно. То есть у нас в Модели должно быть свойство которое возвращает, что этот метод не может выполняться. В View, в принципе, не должно быть других потоков. Они могут быть в Модели, могут быть в ViewModel со стороны Модели. Вот примерно как это должно выглядеть. Есть некая Модель обрабатывающая данные. Обработка долгая. В Модели есть свойство-флаг возвращающее готовность метода принять следующую порцию данных. Сама обработка данных происходит во ВНУТРЕННЕМ приватном методе модели. Обращение к этому методу возможно через ВНЕШНИЙ публичный асинхронный метод.
Для согласования Model с View создаётся ViewModel. В ней для подключения кнопки создаются КОМАНДА. У команды два метода. Один для обработки данных, второй для сообщения о состоянии команды - может она выполняться сейчас или нет. Так же у команды есть метод Invalidate через который можно сообщить о необходимости перепроверки её состояния.
Используемые классы - они (или их аналоги) должны быть в любом WPF решении Новая реализация OnPropertyChangedClass [WPF, Элд Хасп] Новая реализация RelayCommand с исправлениями от proa33 и kolorotur [WPF, Элд Хасп]
1
|
|||||||||||||||||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
||||||
| 15.01.2020, 11:11 [ТС] | ||||||
|
Элд Хасп,
Это конечно все круто. Много строк и все такое... и не читаемо. Элд Хасп такие сложности не нужны для такого класса аппликаций! Mне просто кнопку сделать "disable" на время выполнения операции (занимает 1-2 сек).
Последовательность: -кнопка нажата, кнопка "disabled" (на 1-2 сек.),выполняется содержимое в теле метода buttonDown. -кнопка "enabled" выполняется содержимое в теле метода buttonUp -состояние покоя (default)
0
|
||||||
|
Модератор
|
||
| 15.01.2020, 11:53 | ||
|
Вы, судя по обрывкам кода, работаете с данными в CB окна. Если это так, то это ОЧЕНЬ НЕ ПРАВИЛЬНО! WPF - инструмент специально созданный для реализации View в паттерне MVVM. И использование его вне этого паттерна возможно, но превращает приложение в гору костылей которая разваливается от любого чиха. И сделать в такой манере сколько нибудь существенное реальное решение самостоятельно и, тем более, в команде просто не выйдет. Поэтому все эти "много строк" - они в любом случае должны быть в WPF решении. Всё, что непосредственно относится к вашей задаче (отключение кнопки на время работы метода) - это только одна строчка из метода прослушки - вызов метода команды Invalidate(). Остальное "не читаемое" - научитесь читать. Иначе никогда не сможете делать нормальных WPF решений.
0
|
||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|
| 15.01.2020, 12:12 [ТС] | |
|
Элд Хасп,
В корне неправильно для данной App. Годится только для офисной муры. то, что метод выполнился здесь в этой App, не означает того, что этот метод запустил что-то где-то в "другой степи", завершилось.Особенно если "из другой степи" нет обратной связи, а есть только примерное время исполнения. Если "слушать" так это флаг исполнения в "другой степи", а так как его нет и не будет. Просто "банится" кнопка.
0
|
|
|
Модератор
|
||
| 15.01.2020, 12:27 | ||
|
Я же не буду здесь для примера писать приложение с WEB, БД и т.п. Речь идет только о том, что определять может выполняться обработка следующей порции данных или нет - это функционал обработчика данных, то есть Модели. Даже, если нет желания всерьёз в это влазить и просто делается задержка перед следующей порцией данных, то эту задержку должна делать Модель, а не View. Допустим, по тем или иным причинам, изменился алгоритм обработки данных и время этой обработки. Изменения затрагиваю Модель и там же если надо меняется время задержки - потому, что это связанные ДАННЫЕ. При реализации же этой задержки в View, изменяя алгоритм Модели придётся ещё и лезть в View - на два уровня вверх. Это НЕ нормально!
0
|
||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
||
| 15.01.2020, 12:34 [ТС] | ||
|
но в любом случае нужно показать "дятлу", что не стоит долбиться, -вот гляди кнопка "disabled".
0
|
||
|
Модератор
|
|||||||
| 15.01.2020, 13:21 | |||||||
0
|
|||||||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|||||||
| 15.01.2020, 13:47 [ТС] | |||||||
|
Это для меня сложно... убийство времени на не нужные вещи. Наверняка есть пути более читаемые и в тоже время работоспособные.
Элд Хасп, может выложите sample-project с кнопкой. Я хотя бы гляну в целом как это работает. Из кусков кода вообще не вижу ничего.
0
|
|||||||
|
Модератор
|
|||||||
| 15.01.2020, 14:18 | |||||||
|
Там больше нет ничего. Два типовых класса RelayCommand и OnProperyCnahgedClass. Два класса для Модели и ViewModel. И окно. Всё полностью приведено в посте #7. CB окна полностью ПУСТОЕ! Так желательно чтобы всегда у окон было. Там только
0
|
|||||||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
||
| 15.01.2020, 14:23 [ТС] | ||
|
Уже неправда, в CB должно хотя бы быть событие click той кнопки что "банится"... Иначе как исполнять метод?
0
|
||
|
21 / 17 / 1
Регистрация: 01.09.2019
Сообщений: 262
|
|
| 15.01.2020, 14:36 [ТС] | |
|
Почтальон, да вы не в теме вообще о чем мы...
0
|
|
|
Модератор
|
|
| 15.01.2020, 14:50 | |
|
Ахромчон, сделал для вас отдельное решение с демонстрацией.
Добавил туда ещё отображение времени ожидания. В проекте скопировалось ещё несколько WPF конвертеров. Для решения они не нужны, но удалять не стал - может вам где-то в другом решении пригодятся.
0
|
|
|
Модератор
|
||
| 15.01.2020, 14:52 | ||
|
А событие Click используется только если нужно ВНУТРИ View. Допустим, для запуска анимации.
0
|
||
| 15.01.2020, 14:52 | |
|
Помогаю со студенческими работами здесь
20
Нужно во время выполнения приложения менять свойства IsEnabled TextBox'ов Изменение забиндинного свойства Text компонента TextBox по нажатию Enter Выполнить команду в set свойства для свойства SelectedItem (ComboBox ) MVVM Биндинг свойства контрола к одной из переменных свойства класса
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|