我遇到了布局问题,我不知道如何解决。这里是我的xaml的样子,Silverlight中的布局
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid x:Name="abc" Grid.Row="0" Grid.Column="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0"></Button>
<TextBox Grid.Row="0" Grid.Column="1"></TextBox>
</Grid>
</Grid>
<Grid Grid.Row="0" Grid.Column="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0"></Button>
<TextBox Grid.Row="0" Grid.Column="1"></TextBox>
</Grid>
</Grid>
</Grid>
现在上面的xaml的布局正是我想要的。但是,我有一个额外的要求。在运行时我需要使网格“abc”可折叠。另一个网格需要填充整个宽度。如果我使用星号调整宽度,那么如果“abc”被折叠,它的行为更像是隐藏而不是折叠。崩溃似乎适用于自动大小的宽度,但它不会根据需要给予比例调整大小。有没有办法做到这一点。请注意,我只能访问Grids,StackPanels和Canvas以布局我的项目(无DockPanel)。请让我知道任何想法以及任何代码片段。谢谢。
注:该解决方案是为那些使用MVVM风格模式(即没有代码隐藏)。现在没有意义提供代码,因为你显然对代码隐藏感到满意。 – 2010-10-03 22:26:53