将行为应用于 WPF DataGrid 行

Apply behaviour to WPF DataGrid Row

我想将行为附加到(组件一)数据网格行。

问题是:我无法访问实际行的 DataContext。在样式中,我的数据上下文是数据网格。我怎样才能到达行的数据上下文?

<c1:C1DataGrid.RowStyle>
    <Style TargetType="c1:DataGridRowPresenter">
            <Setter Property="ui:DataGridRowHierarchyBehavior.IsExpanded" Value="{Binding IsExpanded, RelativeSource=}" />
    </Style>
</c1:C1DataGrid.RowStyle>

我知道如何使用 RelativeSource -
'get up' 视觉树 虽然 'getting down' 是如何工作的,但我不知道..

非常感谢任何提示!

要获取该行的DataItem,您需要通过以下方式在Binding中使用RelativeSource:

<c1:C1DataGrid.RowStyle>
   <Style TargetType="{x:Type c1:DataGridRowPresenter}">
      <Setter Property="Background" Value="{Binding RelativeSource={RelativeSource Self}, Path=Row.DataItem.Background}"></Setter>
   </Style>
</c1:C1DataGrid.RowStyle>

我以背景 属性 为例。