2014-11-14 36 views
1

在WPF'DataGrid'中,水平網格線的顏色可以通過HorizontalGridLinesBrush屬性進行修改。僅對選定行更改Horizo​​ntalGridLinesBrush

一些項目有一個布爾屬性設置爲true,所以我想要高亮他們與水平網格線刷設置爲另一種顏色。

是否有可能只爲cetain行更改水平網格線的顏色?

回答

2

DataGrid.HorizontalGridLinesBrushDataGrid設定所以你不能改變它每行,但你可以通過禁用水平網格線和創建自定義風格DataGridRow

<DataGrid ... GridLinesVisibility="Vertical"> 
    <DataGrid.RowStyle> 
     <Style TargetType="{x:Type DataGridRow}"> 
      <Setter Property="BorderThickness" Value="0,0,0,1"/> 
      <Setter Property="BorderBrush" Value="Black"/> 
      <Style.Triggers> 

       <!-- this will trigger when row is selected --> 
       <Trigger Property="IsSelected" Value="True">       
        <Setter Property="BorderBrush" Value="Red"/> 
       </Trigger> 

       <!-- this will trigger when Highlight property of the view model is true --> 
       <DataTrigger Binding="{Binding Highlight}" Value="True"> 
        <Setter Property="BorderBrush" Value="Green"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 
+1

謝謝你,解決了我的問題更換默認水平線的行爲! :) – 2014-11-14 14:45:11