C# 绑定到DataGrid ControlTemplate中的DataGrid ItemsSource

C# 绑定到DataGrid ControlTemplate中的DataGrid ItemsSource,c#,binding,silverlight-4.0,mvvm-light,C#,Binding,Silverlight 4.0,Mvvm Light,为SL DataGrid实现摘要标题行我找不到绑定到DataGrids ItemsSource属性并应用IValueConverter的方法 当简单地指定绑定时,转换器接收ViewModel作为DataGrids DataContext,但我不希望将ViewModel与转换器耦合: <!-- somewhere in my DataGrid ControlTemplate --> <sdk:DataGridCell Content="{Binding Converter={St

为SL DataGrid实现摘要标题行我找不到绑定到DataGrids ItemsSource属性并应用IValueConverter的方法

当简单地指定绑定时,转换器接收ViewModel作为DataGrids DataContext,但我不希望将ViewModel与转换器耦合:

<!-- somewhere in my DataGrid ControlTemplate -->
<sdk:DataGridCell Content="{Binding Converter={StaticResource SummaryRow}}" />
我的DataGrid本身绑定到一个CollectionViewSource,它处理分组和排序


我已经使用第一种方法实现了显示DataGridRowGroupHeader的列和,相应的转换器接收一个CollectionViewGroup,我可以从中检索项目,而无需耦合到ViewModel。

我找到了实现这一点的正确方法,并将绑定到DataGrids ItemsSource的ListCollectionView传递给自定义控件模板中的IValueConverter:


选民:想解释一下我的问题出了什么问题吗?
<sdk:DataGridCell Content="{Binding RelativeSource={RelativeSource FindAncestor AncestorType={x:Type DataGrid}}, Converter={StaticResource SummaryRow}}" />
<Style TargetType="sdk:DataGrid">
  <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="sdk:DataGrid">

    <!-- Rest of ControlTemplate xaml omitted -->

    <sdk:DataGridCell 
        Content="{Binding Path=ItemsSource, 
                          RelativeSource={RelativeSource}, 
                          Converter={StaticResource SummaryRow}}" />
    <!-- ... -->

    </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>