c# - 以编程方式设置网格内列的宽度

标签 c# silverlight gridsplitter

是否可以在 Silverlight 中为 Grid 设置列宽?我有一个包含两列的网格(不是 GridView )。 A 列和 B 列。我想要完成的是当用户单击 ColumnA 中的按钮时,ColumnA 的宽度设置为 .01。然后 ColumnB 应该扩展网格的整个宽度以填充剩余区域。类似于固定或取消固定停靠面板的方式?

这是最好的方法还是我应该恢复到停靠面板并让 SL 处理它?与使用 RAD 控件相比,我更愿意自己管理它,因为我认为它对于如此小且看似简单的任务来说有点臃肿。

我的另一个想法是使用 gridsplitter,但我不确定如何使用 gridsplitter 以编程方式折叠或展开列?因此,我目前的困境。任何建议将不胜感激。

提前致谢

最佳答案

通过 Name 属性为您的 ColumnDefinition 命名,例如:

<ColumnDefinition Width="100" Name="FooColumn"/>

然后您可以随时在代码中为其分配一个新的宽度:

FooColumn.Width = new GridLength(1);

(编辑:应该在两个地方使用相同的名称......哎呀..你明白了)

关于c# - 以编程方式设置网格内列的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655994/

相关文章:

c# - 哪个更适合多核硬件?多线程或异步方法

c# - 如何在 C# 中正确使用 lambda 表达式的参数?

c# - 为什么我的 GridSplitter 没有出现?

wpf - 您如何学习 WPF 和 Silverlight?

c# - WPF - 移动 GridSplitter 时列无法正确隐藏

c# - Gridsplitter 在 MouseOver 上可见

c# - 异步 TPL 死锁与第三方 lib aka wild goose chase

c# - 同时使用 Web API 和 MVC 进行模型复制

silverlight - 如何给标签添加下划线?

c# - 在 Silverlight 中编辑 XML 文件不起作用,但为什么?