2

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

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

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

提前致谢

4

2 回答 2

10

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

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

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

FooColumn.Width = new GridLength(1);

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

于 2011-04-13T21:52:37.260 回答
0
Try this

<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>       
        <sdk:GridSplitter  />    
    </Grid>

 LayoutRoot.ColumnDefinitions.First().Width = new GridLength();
于 2011-04-13T21:59:49.313 回答