Silverlight数据网格分组/排序行为

时间:2009-10-18 03:31:50

标签: datagrid silverlight-toolkit

如果Silverlight 3数据网格包含已关闭的组,则在通过单击列标题启动行排序时,将打开所有已关闭的组以显示其内容。有没有办法阻止这种情况发生?

我正在使用Silverlight 3和2009年7月的工具包。

1 个答案:

答案 0 :(得分:1)

我为DataGrid写了一个扩展方法:

    public static void CollapseAllGroups(this DataGrid dataGrid) {
        dataGrid.Dispatcher.BeginInvoke(delegate {
            var cv = dataGrid.ItemsSource as ICollectionView;
            if (cv != null && cv.Groups != null) {
                foreach (CollectionViewGroup groupname in cv.Groups) {
                    dataGrid.CollapseRowGroup(groupname, true);
                }
            }
        });
    }

在我的情况下,我将它挂钩到底层的DomainDataSource的DataLoaded事件。