2014-02-08 2 views
2

Я знаю, что WPF фона ячейки проблема была покрыта много раз, но все решения я видел использовать XAML (см: Change DataGrid cell colour based on values)Изменить WPF DataGrid фона ячейки программно (без использования XAML)

Вы можете думать, , почему нет xaml? Xaml хорош, если у вас есть правила статической раскраски, которых я не знаю. (Мое приложение является электрическим решателем, который будет выделять значения над определенными защитными ограничениями, определенными оператором сетки)

Ну, у меня не может быть статических правил для окраски ячеек (что-то вроде, если входной сигнал 0,5 0,5 красный) правила раскраски определяются пользователем во время выполнения.

Есть ли способ достижения стиля ячейки без использования каких-либо xaml?

В настоящее время я использую формы datagrid для окон, внедренные в хост Windows Forms в интерфейсе WPF (Ugly, но работает). Мне бы очень хотелось иметь сетку данных WPF, так как ее производительность намного лучше.

Любая помощь приветствуется.

+0

Вы пробовали что-нибудь до сих пор? –

+0

Да, я сделал «статическую» настройку цвета, предложенную в ссылке, которая в основном такая же, как и предлагаемая здесь: http: //social.msdn.microsoft.com/Forums/vstudio/en-US/28b6750b-d715 -474f-b5b8-a2c6653ea6ca/how-to-assign-color-to-wpf-datagrid-cell-dynamically? Forum = wpf, все, что приятно, но бесполезно для меня –

+0

'Конвертер' - это именно такой способ. Вы сталкиваетесь с какими-либо проблемами? –

ответ

0

Это по-прежнему правильный сценарий привязки данных, и я не вижу причин оценивать что-либо в коде кода вашего взгляда. Ключ состоит в том, чтобы разделить расчет цвета и визуальное представление.

  1. Инкапсулируйте логику переключения цвета в свойство ViewModel в строке с соответствующими изменениями уведомлений, когда цвет должен измениться.
  2. Создайте конвертер, который берет ваш тип свойства ViewModel, т.е. Строка и создала кисть из этого свойства фона
  3. BIND содержимого ячейки в, чтобы грести свойство с помощью конвертера, созданного в 2.
Смежные вопросы