我有一个带有分组的数据网格,我正在尝试设置模板样式以添加有关该组的一些摘要。
在XAML DataGrid.RowGroupHeaderStyle
<Grid Grid.Column="3" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="0,1,0,1" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" Margin="4,0,0,0" />
<TextBlock Grid.Column="1" Text="{Binding Items, Converter="{StaticResource summaryConverter}"}" />
</Grid>
数据网格项源的绑定
PagedCollectionView collection = new PagedCollectionView(e.Result.ToList<MyClass>());
collection.GroupDescriptions.Add(new PropertyGroupDescription("Name"));
dataGrid.ItemsSource = collection;
MyClass的
class MyClass {
public string Name;
public double Value;
}
我创建了一个转换器来抓取同一组的项目但我在将对象转换为List<MyClass>()
时遇到了问题。我收到此错误
无法转换类型&#39; System.Collections.ObjectModel.ReadOnlyObservableCollection
1[System.Object]' to type 'System.Collections.Generic.List
1 [MyClass]&#39;的对象。 `
在Converter.cs中
public object Convert(object values, Type targetType, object param, CultureInfo culture) {
var source = (List<MyClass>)values;
}
有谁知道我应该如何进行转换?
答案 0 :(得分:1)
使用LINQ。
public object Convert(object values, Type targetType, object param, CultureInfo culture) {
var source = (ReadOnlyObservableCollection<object>) values;
List<MyClass> list = source.OfType<MyClass>().ToList();
...
}