2017-08-18 2 views
0

DataGridのDataTriggerで、一部の行に異なるグリッド線の色を設定するにはどうすればよいですか?DataTriggerでDataGridの線の色を設定するには?

私はこの試みた:

<DataGrid ...> 
    <DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Style.Triggers> 
       <DataTrigger 
        Binding="{Binding in_stock, Converter={conv:LessThan 4}}" 
        Value="True"> 
        <Setter Property="BorderBrush" Value="Red" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 

をしかし、グリッド線はすべて同じ、デフォルトの色です。

答えて

0

この方法を試してくださいそれぞれのDataGridCellのピクセル境界の下端に配置します。

1

ちょうどIがそれぞれ別々の行にグリッド線を非表示にする方法を発見していないが、私はGridLinesVisibility="Vertical"介して全ての水平グリッド線を除去し、いずれかを作成することによってそれをバイパス

<Window.Resources> 

     <Style x:Key="HighLightCell" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding In_stock}" Value="True"> 
        <Setter Property="BorderBrush" Value="Red" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 

</Window.Resources> 
<Grid> 
    <DataGrid Grid.Row="3" 
     ItemsSource="{Binding DataGridPersonList}" 
     SelectedItem="{Binding SelectedDataGridPerson}" 
    CellStyle="{StaticResource HighLightCell}" 
     AutoGenerateColumns="False" 
    > 

     <DataGrid.Columns> 
      <DataGridTextColumn Header="Status" 
        Binding="{Binding Status}" Width="*" > 

      </DataGridTextColumn> 

      <DataGridTextColumn Header="Name" 
        Binding="{Binding Name}" Width="*" /> 

     </DataGrid.Columns> 

    </DataGrid> 


</Grid> 

+0

これは行の背景色を変更するだけです。グリッド線の色を変更する必要があります(これはBorderBrushプロパティですが、BorderBrushでBackgroundを置き換えることはできません)。 –

+0

答えを編集しました –

関連する問題