![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| DragonFire |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Все добрый день. С DataBinding работаю немного, поэтому возникает много непоняток. Например, задача - есть класс с логикой:
Мне необходимо отобразить эти данных в TextBox для ввода и изменения. Причем на каждую величину должны накладываться ограничения: 1) VolumeLiquid и VolumeRepository лежат в пределах от 0 до 100 2) VolumeLiquid<=VolumeRepository С первым все понятно - добавляем пользовательское условие:
И в TextBox создаем привязку типа такой:
Аналогичную привязку делаем для VolumeRepository и первая часть задачи готова. Теперь пытаюсь решить вторую задачу. Хочу, чтобы между значениями возникла однозначная зависимость. Самое простое решение - использовать CoerceValueCallback. Но при таком подходе пользователь не сможет ввести "неверное" значение, чтобы потом исправить на верное. А мне необходимо чтобы значения можно было сначала ввести все, потом откорректировать. Второй подход - IDataErrorInfo:
Отлично, при вводе неправильной VolumeLiquid мы получаем подсветку. Уже лучше. Но все бы ничего, только вот пример: В VolumeRepository вводим 60 (все хорошо) В VolumeLiquid вводим 70 (подсвечивается красным) В VolumeRepository вводим 80 И вот тут я застрял - как заставить VolumeLiquid пересчитать значение и показать пользователю что все хорошо? Или обратный пример - когда сначало значение рабочее вводиться, а потом VolumeRepository уменьшается и необходимо подсветить красным VolumeLiquid... Заранее всем спасибо, кто сможет решить такую проблему... |
||||||||
|
|||||||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 2 Всего: 72 |
Вероятно, это есть здесь: http://www.codeplex.com/wpg (из темы http://forum.vingrad.ru/forum/topic-270932.html)
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Не уверен что есть...
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 2 Всего: 72 |
Да, действительно нет - вставил в их окно Slider и указаал его в качестве Instance для PropertyGrid. При вводе неправильного значения в Value и перехода на другое поле его значение исправляется.
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |