2016-09-28 14 views
0

DataGridの行の背景を単色からグラデーションに変更したいと思います。何か案は?WPF Datagrid.RowStyleグラデーションの背景

現在のコードがある:

<DataGrid.RowStyle> 
<Style TargetType="DataGridRow"> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding GSRowBackground}" Value="0"> 
    <Setter Property="Background" Value="White"></Setter> 
    </DataTrigger> 
    </Style.Triggers> 
</Style> 
</DataGrid.RowStyle> 

溶液(右方向に私を指してくれてありがとう):

<DataGrid.RowStyle> 
<Style TargetType="DataGridRow"> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding GSRowBackground}" Value="0"> 
    <Setter Property="Background"> 
    <Setter.Value> 
     <LinearGradientBrush StartPoint="1,0" EndPoint="0,1"> 
     <GradientStop Offset="0" Color="#888888"/> 
     <GradientStop Offset="1" Color="#FFFFF86E"/> 
     </LinearGradientBrush> 
    </Setter.Value> 
    </Setter> 
    </DataTrigger> 
    </Style.Triggers> 
</Style> 
</DataGrid.RowStyle> 
+1

可能なdupli [XAMLスタイルで、ベタ背景をグラデーションに変更する方法は?](http://stackoverflow.com/questions/520190/in-xaml-style-how-to-change-solid-background-to-gradient) – Gopichandar

答えて

0

溶液(右方向に私を指してくれてありがとう):

<DataGrid.RowStyle> 
<Style TargetType="DataGridRow"> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding GSRowBackground}" Value="0"> 
    <Setter Property="Background"> 
    <Setter.Value> 
     <LinearGradientBrush StartPoint="1,0" EndPoint="0,1"> 
     <GradientStop Offset="0" Color="#888888"/> 
     <GradientStop Offset="1" Color="#FFFFF86E"/> 
     </LinearGradientBrush> 
    </Setter.Value> 
    </Setter> 
    </DataTrigger> 
    </Style.Triggers> 
</Style> 
</DataGrid.RowStyle> 
2
<LinearGradientBrush x:Key="gradientBrush" StartPoint="0,0" EndPoint="0,1"> 
     <GradientStop Offset="0" Color="#888888"/> 
     <GradientStop Offset="1" Color="#FFFFF86E"/> 
    </LinearGradientBrush> 

<Style TargetType="{x:Type DataGridRow}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type DataGridRow}"> 
       <Border x:Name="DGR_Border" SnapsToDevicePixels="True" Background="{StaticResource gradientBrush}" Padding="0,0,3,3">   
        <DataGridCellsPresenter ItemsPanel="{TemplateBinding ItemsPanel}" /> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
関連する問題