Как правильно контролировать цвет заливки элементов управления XAML из c #? - PullRequest
0 голосов
/ 11 августа 2010

Я хочу привязать цвет заливки элемента управления к логическому значению в c #, поэтому, если оно равно false, это красный цвет, а если он истинный, то зеленый.

Довольно плохо знаком с XAML, нохочу начать с хороших привычек с самого начала.

Спасибо,

Бен

Ответы [ 2 ]

1 голос
/ 11 августа 2010

Вы также можете реализовать IValueConverter, который выполняет преобразование между Boolean и Color. Затем просто свяжите свойство color непосредственно с логическим значением, но укажите свой новый IValueConverter в привязке.

Этот подход может быть особенно полезен, когда у вас нет контроля над классами, к которым вы привязаны.

Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx.

1 голос
/ 11 августа 2010

Существуют модели представления для преобразования данных в формат, который может использовать пользовательский интерфейс, поэтому создайте свойство типа Color в ViewModel для формы, которая выполняет логическое преобразование из сохраненного логического значения в значение Color.Назовите это свойство 'DisplayColor'.

Используйте интерфейс INotifyPropertyChanged в ViewModel, чтобы вызывать события в свойстве 'DisplayColor' каждый раз, когда логическое значение меняет цвет (если оно изменяется со временем).Это обеспечит обновление пользовательского интерфейса при каждом изменении логического значения.

Затем свяжите свойство color элемента управления с новым свойством DisplayColor модели представления (вы установите DataContext для ViewModel,предположительно).

Я сделал это впервые только вчера :))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...