在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搞类似于Excel的布局呢,包括合并列、合并行、增加行、删除行,因为DataGrid搞不了这种布局。
将 RowDefinitions[i].Height 设置为0是可以隐藏列的,包括布置在该行的控件。
但是如果要在 Grid 中增加、删除行,则还要写代码下移、上移该行下面的子控件,加大、减少该行的子控件的RowSpan。