WPF-改變Datagrid選中行的顏色


WPF里面,DataGrid自帶的選中行顏色

#FFF0F0F0

深藍色,真的非常丑,尤其是當行高很寬的時候,見下圖。

所以,忍不了必須得修改顏色。

 

其中一種方式如下,

 1         <Style TargetType="{x:Type DataGridCell}" >
 2             <Setter Property="Background" Value="White"/>
 3             <Style.Triggers>
 4                 <Trigger Property="IsMouseOver" Value="True">
 5                     <Setter Property="Background" Value="LightGray"/>
 6                     <Setter Property="BorderBrush" Value="LightGray"/>
 7                 </Trigger>
 8                 <Trigger Property="IsSelected" Value="True">
 9                     <Setter Property="Background" Value="#FFF8DC"/>
10                     <Setter Property="BorderBrush" Value="#FFF8DC"/>
11                 </Trigger>
12             </Style.Triggers>
13         </Style>    

這里面有要注意的點。

第一,【BorderBrush】不可以少,否則會存在很丑的邊框,當然沒有強迫症的可以不考慮。

以下這兩行是不可以少的。

1                     <Setter Property="BorderBrush" Value="LightGray"/>
2                     <Setter Property="BorderBrush" Value="#FFF8DC"/>

缺少情況見下圖,很像被瞄了邊框,而且對比度太高,辣眼睛。

第二,以下是設置鼠標懸浮的顏色。

1                 <Trigger Property="IsMouseOver" Value="True">
2                     <Setter Property="Background" Value="LightGray"/>
3                     <Setter Property="BorderBrush" Value="LightGray"/>
4                 </Trigger>

第三,一下是設置鼠標點擊后的顏色。

1                 <Trigger Property="IsSelected" Value="True">
2                     <Setter Property="Background" Value="#FFF8DC"/>
3                     <Setter Property="BorderBrush" Value="#FFF8DC"/>
4                 </Trigger>

最后,欣賞一下完成品吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM