0
我想在鼠标结束并且同时选择行时更改数据网格的前景色。WPF Datagrid行前景色multitrigger
我的代码如下:
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Padding" Value="4,0,0,0"/>
<Setter Property="BorderBrush" Value="#d2c09e"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" TextElement.Foreground="{TemplateBinding Foreground}" SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
<Condition Property="IsMouseOver" Value="True"/>
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="Foreground" Value="Green"/>
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
它仅适用于一个小区改变颜色。
但这个工程:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="Foreground" Value="Green"/>
</MultiTrigger.Setters>
</MultiTrigger>
的时候我想改变颜色,当鼠标移动到它不工作。
那么我该怎么做呢?
在此先感谢。 :-)
这不是我想要的。当这两个动作是真的时,我想设置前景色。 –
然后多触发器就足以完成您的工作。那么你还有什么问题?你想改变整行的前景色吗? – ViVi
是的,这正是我想要的。 –