Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 Как динамически поменять BackColor у TextBoxa?  [new]
M234
Member

Откуда: Оттуда...
Сообщений: 25379
Нет раздела для Windows Store Apps под Windows RT, но наверное к WPF ближе будет - спрошу тут.

Как динамически поменять BackColor у TextBoxa?
Сценарий простой - пользователь вводит данные, они проверяются и если что-то не то, то TextBox BackColor становится красным.
Но КАК?

Win RT, WinStore App, FW 4.5
Спасибо.
20 май 13, 14:26    [14321274]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13632
В WPF это удобно делать триггером. Но там триггеров нету. :-(

Остаются варианты:
1. VisualStateManager - оно вроде там есть.
2. Binding + converter - наиболее предпочтительный вариант.

Это если решать как Вы сказали. Но лучше посмотреть в сторону валидации в биндингах.
20 май 13, 14:42    [14321415]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13632
Хотя, тут пишут что родной валидации как в WPF/SL нет. Вобщем, надо гуглить. Сторонние решения должны быть. Отпишите потом по результату... :-)
20 май 13, 14:50    [14321488]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13632
Мда... Тут про валидацию ни слова. Планета деградирует... :-(
20 май 13, 15:03    [14321563]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
M234
Member

Откуда: Оттуда...
Сообщений: 25379
Алексей К
Хотя, тут пишут что родной валидации как в WPF/SL нет. Вобщем, надо гуглить. Сторонние решения должны быть. Отпишите потом по результату... :-)

Валидации нет :(
Ожидаемо было бы наличие валидаторов как ASP.NET, но нет - Микрософт в своём стиле - дают пищу сторонним разработчикам.
Вот нашёл "OutOfBox" решение. Тут исходники. Видать придётся использовать. Нет времени лисапед самому собирать. К тому же NumericUpDown - то что нужно в моём случае. Почему этот контрол отсутствует в списке стандартных - загадка...
20 май 13, 15:03    [14321565]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
M234
Member

Откуда: Оттуда...
Сообщений: 25379
M234
Алексей К
Хотя, тут пишут что родной валидации как в WPF/SL нет. Вобщем, надо гуглить. Сторонние решения должны быть. Отпишите потом по результату... :-)

Валидации нет :(
Ожидаемо было бы наличие валидаторов как ASP.NET, но нет - Микрософт в своём стиле - дают пищу сторонним разработчикам.
Вот нашёл "OutOfBox" решение. Тут исходники. Видать придётся использовать. Нет времени лисапед самому собирать. К тому же NumericUpDown - то что нужно в моём случае. Почему этот контрол отсутствует в списке стандартных - загадка...


Поглядел исходники, там стиль меняется через работу с VisualStateManager.
Не, НУ ХРЕНЬ ЖЕ! Неудобно и громоздко.
20 май 13, 15:09    [14321621]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13632
M234
M234
пропущено...

Валидации нет :(
Ожидаемо было бы наличие валидаторов как ASP.NET, но нет - Микрософт в своём стиле - дают пищу сторонним разработчикам.
Вот нашёл "OutOfBox" решение. Тут исходники. Видать придётся использовать. Нет времени лисапед самому собирать. К тому же NumericUpDown - то что нужно в моём случае. Почему этот контрол отсутствует в списке стандартных - загадка...


Поглядел исходники, там стиль меняется через работу с VisualStateManager.
Не, НУ ХРЕНЬ ЖЕ! Неудобно и громоздко.
Таки попробуйте binding + converter на свойство Background. Но это только визуализация. Нужна же ещё логика по блокированию сохранения формы с невалидными данными. Капец, кароче... :-)
20 май 13, 15:17    [14321696]     Ответить | Цитировать Сообщить модератору
 Re: Как динамически поменять BackColor у TextBoxa?  [new]
M234
Member

Откуда: Оттуда...
Сообщений: 25379
А ларчик просто открывался:
MyTextBox.Background = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.Pink);
23 май 13, 11:48    [14337525]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить