VisualStateManager: Как сделать «текущий» цвет более светлым в MouseOver? - PullRequest
1 голос
/ 29 апреля 2011

1) Представьте, что элемент управления DataGridColumnHeader по умолчанию должен быть зеленого цвета.

2) Если я щелкну по нему, он активирует сортировку по «Sorted Ascending», это когда он должен статьОранжевый.Повторный щелчок по нему изменит его на «Sorted Descending», который по-прежнему должен оставаться оранжевого цвета.

Два вышеупомянутых случая легко сделать с VSM.Однако следующие два сценария кажутся мне невозможными без мульти-триггера (которого у нас нет в Silverlight)

1b) Всякий раз, когда я наводю указатель мыши на несортированный контроль, он должен стать светло-зеленым.Я отклоняюсь, он должен вернуться к зеленому.

2b) Всякий раз, когда я наводю курсор мыши на отсортированный элемент управления , он должен стать светло-оранжевым.Я наведите курсор мыши, он должен вернуться к основанию Orange.

Как мне определить в состоянии MouseOver, в каком режиме находится отсортированное состояние, чтобы соответственно выбрать светло-оранжевый или светло-зеленый?Или можно ли осветлить текущий цвет, не зная, какого цвета он на самом деле?

1 Ответ

0 голосов
/ 29 апреля 2011

Возможно, проще всего было бы сделать непрозрачность ниже при наведении курсора мыши, эффективно делая зеленый и оранжевый светлее.

Или же вы можете создать группу визуальных состояний для отсортированных состояний, установив ее с даннымивызвать и изменить цвет мыши над элементом соответственно.

...