VisualStateManager:如何在MouseOver中使“当前”颜色变亮?

时间:2011-04-29 16:19:26

标签: silverlight silverlight-4.0 wpfdatagrid visualstatemanager

1)想象一下,DataGridColumnHeader控件默认为绿色。

2)如果我点击它,它会激活排序为“Sorted Ascending”,这时它应该变为橙色。再次单击它会将其更改为“Sorted Descending”,它仍然应保持橙色。

上述两种情况很容易用VSM完成。但是,如果没有Multi-trigger(我们在Silverlight中没有),以下两种情况似乎是不可能的

1b)每当我将鼠标悬停在未分类控件上时,它应该变为浅绿色。 我徘徊,它应该回到绿色。

2b)每当我将鼠标悬停在已排序控件上时,它应该变为浅橙色。 我徘徊,它应该回到橘子基地。

  

我应该如何确定内部   MouseOver状态,在哪种模式下排序   状态是,为了选择光   相应的橙色还是浅绿色?   或者可以   减轻当前的颜色,没有   知道它究竟是什么颜色?

1 个答案:

答案 0 :(得分:0)

最简单的可能是在鼠标悬停时降低不透明度,有效地使绿色和橙色更亮。

或者您可以为排序状态创建可视状态组,使用数据触发器设置它并相应地更改鼠标在元素上的颜色。