C# 绑定到DataGrid ControlTemplate中的DataGrid ItemsSource
为SL DataGrid实现摘要标题行我找不到绑定到DataGrids ItemsSource属性并应用IValueConverter的方法 当简单地指定绑定时,转换器接收ViewModel作为DataGrids DataContext,但我不希望将ViewModel与转换器耦合: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
<!-- 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>