当前位置: 代码迷 >> Silverlight >> Silverlight怎的实现Grid的收起展开
  详细解决方案

Silverlight怎的实现Grid的收起展开

热度:1922   发布时间:2013-02-26 00:00:00.0
Silverlight怎样实现Grid的收起展开?
在Silverlight页面里,我用Grid创建了一个表,现在要点击按钮收起或展开其中一列,该怎么做?详解
------解决方案--------------------------------------------------------
有几个方法都可以实现你的需求:

方法1: 可以使用dockpanel

方法2: 可以使用expander

方法3: 自定义一个简单控件控制表格宽和高度

推荐使用dockpanel,使用方便。

详细可以查看Silverlight Toolkit,有代码参考。
http://silverlight.codeplex.com/
------解决方案--------------------------------------------------------
grid.RowDefinitions[要改变的行].Height = 0; 收起

grid.RowDefinitions[要改变的行].Height = 20(自己设置高度);展开
------解决方案--------------------------------------------------------
给你个思路

            for (int r = rows[0]; r <= rows[1]; ++r)
            {
                if (pg.IsChecked == true)
                {
                    _grid.RowDefinitions[r].Height = new GridLength(0);
                }
                else
                {
                    _grid.RowDefinitions[r].Height = GridLength.Auto;
                }
            }

------解决方案--------------------------------------------------------
引用:
楼主用Grid建表耐心十足,站在楼下看楼主搞出控件.

呵呵我还用Grid搞类似于Excel的布局呢,包括合并列、合并行、增加行、删除行,因为DataGrid搞不了这种布局。

将 RowDefinitions[i].Height 设置为0是可以隐藏列的,包括布置在该行的控件。
但是如果要在 Grid 中增加、删除行,则还要写代码下移、上移该行下面的子控件,加大、减少该行的子控件的RowSpan。
  相关解决方案