在我的ViewModel中的WPF应用程序(mvvm)中我有这样的东西:
IEnumerable<IGrouping<string,SomeClass>> FeildSet = Feilds
.GroupBy(e => e.Label.Substring(0, 1));
如何在我的视图中将这个FeildSet对象绑定到DataTemplate中?
提前致谢。
答案 0 :(得分:1)
FeildSet
是集合(至少它是可枚举的),我建议使用内置的控件来处理对象集合(即任何基类为ItemsControl
的控件。 FeildSet
中的每个项目也是按SomeClass
分组的String
的集合,因此我建议使用能够显示标题和内容的控件(即任何控制哪个基类是HeaderedContentControl
)。ItemsControl
。这将为您提供以下画布:
<ItemsControl
ItemsSource="{Binding Path=FeildSet}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<HeaderedContentControl
Header="{Binding Path=Key}">
<ItemsControl
ItemsSource="{Binding Path=.}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- template for SomeClass here -->
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</HeaderedContentControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>