抑制GridViewColumn上的鼠标hover效果

我有一个带有HeaderTemplateGridViewColumn ,它有一个Image和一个TextBlock 。 当用户将鼠标hover在Image我正在更改其不透明度,但我仍然会获得默认的标题鼠标效果。 当用户将鼠标hover在图像上时,如何抑制此效果?

IsMouseOver触发器位于GridViewColumnHeader模板内。 看起来像这样

       

更新

使用一些代码后,您可以在GridViewColumnHeader的Loaded事件中禁用IsMouseOver触发器。 它通过设置值来覆盖触发器中的setter,这也适用于经典主题。

       

事件处理程序背后的代

 private void GridViewColumnHeader_Loaded(object sender, RoutedEventArgs e) { GridViewColumnHeader columnHeader = sender as GridViewColumnHeader; Border HeaderBorder = columnHeader.Template.FindName("HeaderBorder", columnHeader) as Border; if (HeaderBorder != null) { HeaderBorder.Background = HeaderBorder.Background; } Border HeaderHoverBorder = columnHeader.Template.FindName("HeaderHoverBorder", columnHeader) as Border; if (HeaderHoverBorder != null) { HeaderHoverBorder.BorderBrush = HeaderHoverBorder.BorderBrush; } Rectangle UpperHighlight = columnHeader.Template.FindName("UpperHighlight", columnHeader) as Rectangle; if (UpperHighlight != null) { UpperHighlight.Visibility = UpperHighlight.Visibility; } Thumb PART_HeaderGripper = columnHeader.Template.FindName("PART_HeaderGripper", columnHeader) as Thumb; if (PART_HeaderGripper != null) { PART_HeaderGripper.Background = PART_HeaderGripper.Background; } } 

Aero解决方案 ,删除了IsMouseOver触发器的默认样式