我遇到了佈局問題,我不知道如何解決。這裏是我的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