WPF数据网格绑定

时间:2010-03-03 16:30:28

标签: wpf datagrid

我有以下域名:

public class FileInformation
{
 public String FileName;
 public String CreatedBy;  // name of user who created the file
 public String CreatedComments;
 public String CreatedDate;
 public String EditedBy;   // name of user who last edited the file
 public String EditedComments;
 public String EditedDate;
}

public class Folder
{
public List<FileInformation> Files {get;set}
}

我想拥有一个WPF数据网格并将“文件夹”类中的文件列表绑定到它......如果我想以标准方式显示数据,这很容易.....但我希望以下列方式让它显示出来:

alt text http://i49.tinypic.com/nbua94.jpg

关于以这种方式显示数据我必须做些什么的想法?

1 个答案:

答案 0 :(得分:0)

最简单的方法是:

  • 从绑定中提取CollectionView:

CollectionView cv = (CollectionView)(CollectionView)CollectionViewSource.GetDefaultView(_grid.ItemsSource);

  • 根据FileName创建分组:

cv.GroupDescriptions.Add(new PropertyGroupDescription("FileName"));

  • 在网格中创建一个GroupStyle,以您希望的方式显示Gorup。

   <GroupStyle>
      <GroupStyle.ContainerStyle>
         <Style TargetType="{x:Type GroupItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type GroupItem}">
                      <Expander IsExpanded="True" Header={Binding Name}>
                          <ItemsPresenter/>
                      </Expander>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
         </Style>
      </GroupStyle.ContainerStyle>
   </GroupStyle>
</DataGrid.GroupStyle>

所呈现的风格不会完全按照屏幕截图中显示的方式显示信息,但基于此功能可以自定义内容以满足您的需求...