[英]How to dock bottom of control A to location of a variable-size control B
在網格中,我有一個列表框,在該列表框下,有一個圖像。 當主窗口在水平方向變小時,我的圖像會保持其比例,但是尺寸會減小,因為它停靠在底部的網格上,並且尺寸是自動的。
我的列表框底部是否可以等於圖像位置?
就像是:
On image_resize
{
listbox.Height = image.Location;
}
如果要查找列表框以擴展以填充剩余空間,則至少需要兩個解決方案。
使用DockPanel:
<DockPanel LastChildFill="True">
<Image Source="..." Dock.DockPanel="Bottom"/>
<ListBox ItemsSource="{...}" DockPanel.Dock="Top"/>
</DockPanel>
當Image是列出的第一個元素時,它停靠在底部,因此將其布置在ListBox下方。 因為ListBox是DockPanel中的最后一個元素,所以它將拉伸以填充剩余的空間。 請參閱此鏈接以獲取有關DockPanel的更多信息。
使用網格:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ListBox Grid.Row="0"/>
<Image Grid.Row="1"/>
</Grid>
使用網格,您可以要求行自動調整大小以適合其內容,可以調整其大小以填充剩余的空間,也可以指定特定的高度。 *
表示剩余空間。 有關網格布局的更多信息,請參見此鏈接 ;有關快速教程,請參見此鏈接 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.