将行为应用于WPF DataGrid Row

时间:2015-07-21 06:15:14

标签: c# wpf xaml datagrid componentone

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

问题是:我无法访问实际行的DataContext。在样式中,我的数据上下文是数据网格..如何进入行的数据上下文?

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

我知道如何起床&#39;使用RelativeSource的可视树 -
虽然如何下降&#39;可以工作我没有线索..

任何提示都非常赞赏!

1 个答案:

答案 0 :(得分:3)

要访问该行的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>

我以Background属性为例。