powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Надо пустить одно событие вперед другого...
9 сообщений из 9, страница 1 из 1
Надо пустить одно событие вперед другого...
    #37939447
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, не нашелся с более подходящим названием темы.

Значицца так, на форме есть textBox. Также на форме есть кнопка. Кнопка косвенно использует данные viewModel-и, к которой прибинден textBox.

Я меняю значение в textBox-е, но не покидаю его - ничего не происходит.

Нажимаю на кнопку - запускается код, но изменений он не видит, поскольку textBox еще не отработал..
И только после этого запускается onPropertyChanged textBox-а, но первое событие уже отработало...

Возможные варианты:
1. Зажигать событие при каждом изменении текста в textBox - е.
Не хочется, потому что этот же контрол используется для работы с БД - двадцать символов - двадцать INSERT-ов - слишком жирно.
2. Срабатывать на MouseLeave textBox-а и зажигать спецовую команду, которая зажжет onPropertyChanged textBox-а - но ИМХО это какой-то ректальный способ.

Может можно как-то попроще?

Спасибо.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939626
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В модели заимплементить INotifyPropertyChanged, в разметке для биндинга TextBox указать Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939627
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Но это будет вариант под номер раз 20 символов = 20 insert-ов.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939769
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Это не проблема текстбокса. Это проблема твоей модели, которая должна отсылать изменения 1 раз тогда когда надо, а не по изменению свойства.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939771
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает сделать:
Сон Веры ПавловныВ модели заимплементить INotifyPropertyChanged, в разметке для биндинга TextBox указать Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"
+ отправлять инсерт по LostFocus из TextBox?
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939819
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Накапливание изменений в забинденном свойстве модели, иотправка этого свойства куда-то (в базу, как в данном случае) вовсе не обязаны происходить синхронно и в одной точке (в одном методе). Просто это две разные операции.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37939859
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы.

Но вопрос-то был несколько в другом. Как достигнуть желаемого МАЛОЙ кровью.

PropertyChanged = Изменение в базе данных, по моему все логично.

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

Наверное, надо мутить команду, срабатывающую на lostFocus, если проще совсем никак.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37940079
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique
PropertyChanged = Изменение в базе данных, по моему все логично.


нет, не логично.
...
Рейтинг: 0 / 0
Надо пустить одно событие вперед другого...
    #37940111
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никки из Донецка считает себя умнее инженеров из Apple, моё почтение.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Надо пустить одно событие вперед другого...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]