好吧,我正在使用網格來列出各種內容。我如何獲得特定的colums來調整大小,而其他人則保持不變。WPF - 調整網格中的列和行的大小
也就是說,形式會彈出specifc初始列大小的控制......如果用戶改變形式......我想一定「備忘錄」像場擴大。怎麼做?我似乎只能得到所有'第二'列高度擴大...不只是1(最後一個)...或特定的。
感謝您的任何幫助!
這裏是佈局...我怎樣才能使「長」文本調整大小與形態調整大小,並保持粘在表格底部的按鈕??? TX
<DockPanel VerticalAlignment="Top">
<Grid DockPanel.Dock="Top" VerticalAlignment="Top" HorizontalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" ></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition MinHeight="80" Height="Auto"></RowDefinition>
<RowDefinition ></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Height="Auto" Grid.Column="1" Grid.Row="0" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Right" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
(加1「答案」之後) 現在,如果我去掉底部的StackPanel(確定,取消按鈕)從等式使這個更容易,我設置了第一和第二行以一個固定值...我似乎能夠得到這個工作(不想要設置一個最大高度,雖然)...哦,我需要改變verticalAlignment'伸展'。但只要我添加的StackPanel再次按鈕......拉伸不再工作......所以這裏是下一個修訂版...
<DockPanel VerticalAlignment="Stretch">
<Grid DockPanel.Dock="top" VerticalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="30"></RowDefinition>
<RowDefinition MinHeight="80" Height="*"></RowDefinition>
<RowDefinition MaxHeight="30"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Grid.Column="1" Grid.Row="0" />
<TextBox Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" VerticalAlignment="Bottom" HorizontalAlignment="Right" Orientation="Horizontal" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
所以我仍然有問題...
嗨,謝謝你的回答。 這裏的問題是如何在除某個行之外的所有行上指定NO大小調整高度。 *僅支持列定義和行定義,那麼如何獲得橫截面?第二排,第二排只能這樣做。 如示例所示,底部按鈕不會粘到底部,並且最後一行,最後一列不會調整大小。用'*'取代汽車並沒有幫助。 – appWoW 2010-07-19 04:08:21
我修改了上面的示例代碼...但仍然有問題。 – appWoW 2010-07-19 04:51:56
嗨appWow。我在這裏試圖做的事情有點迷茫。指定不調整大小(除了一個)意味着一行和只有一行具有Height =「*」。這與在網格中設置單個單元格的大小不同 - 最好的方法是將一個網格嵌套在另一個網格中,並使用該單元格(第二行,第二列)Width =「*」上的星形尺寸。 HTH – Berryl 2010-07-19 19:05:32