簡體   English   中英

如何將控件A的底部停靠到可變大小控件B的位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM