当前位置:  开发笔记 > 编程语言 > 正文

如何在Silverlight中的DataGrid末尾包含自定义行?

如何解决《如何在Silverlight中的DataGrid末尾包含自定义行?》经验,为你挑选了1个好方法。

DataGrid在我的Silverlight应用程序中有一个很好用,在我操作ItemsSource集合时添加一行或删除一行.但是,我希望在最后一个数据行之后有一个额外的行或控件.

我可以使用a ControlTemplate并将RowsPresenter行设置为自动高度,在最后一行之后显示附加控件,但这意味着当渲染区域变得太小时,行永远不会滚动.但是,如果我将RowsPresenter行高度更改为Star,则行会滚动,但附加控件会显示为固定到数据网格的底部而不是最后一行的底部.

有没有办法在RowsPresenter上拥有Star高度行为,同时仍然可以按照我想要的方式显示控件?

我目前的想法是,我需要以某种方式使用LoadingRow事件来查找最后一行的位置,并使用Canvas或类似方法将我的控件放在适当的位置.

思考?

在此先感谢您的帮助.

更新

我还问了一个问题(并最终回答)关于将一个控件固定在另一个控件下面的问题,如果您不希望自定义行与其余行一起滚动(例如在我的情况下,那么可以用来解决此问题)我希望另一个datagrid标题行显示总计并浮动其他行).

如何在Silverlight中将一个控件固定在另一个控件下面?



1> Jeff Yates..:

昨晚我在一阵灵感中解决了我的问题.我注意到没有其他人投票赞成这个问题,所以这个答案对任何人都没有帮助,但以防万一.

首先,我将自定义行控件和RowsPresenter合并为两行网格,每行大小为Auto.然后我将网格放在ScrollViewer中,然后将滚动查看器行的大小调整为Star大小.我没有将VerticalScrollbar模板部件添加到我的模板中,因为这只会滚动RowsPresenter.

这给了我确切的行为,我正在寻找添加行的位置,自定义行仍然固定在最后一个数据行的底部.当行和自定义行溢出可见区域的末尾时,滚动条似乎允许滚动,同时保持标题固定到位.

任务完成.我希望有人觉得这很有帮助.下面是我的ControlTemplate XAML.


    

        
            
                
                
                
            
            
                
                
                
            

            
            
            

            
                
                    
                        
                        
                    

                    

                    
                        
                            
                                
                                
                            

                            

                            
                        
                    
                
            

            
            
                
                    
                    
                
                
                
            
            
        
    

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有