WPF:将宽度(和高度)设置为百分比值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (52)

说我想要一个TextBlock拥有它的Width等于它的父容器的Width(即从一边延伸到另一边)或它的父容器的百分比Width,我如何才能在XAML而不指定绝对值?

我想这样做,以便如果父容器容器在以后展开(它的‘Width它的子元素也会自动展开。(基本上类似于HTML和CSS)。

提问于
用户回答回答于

将其扩展到与父容器大小相同的方法是使用以下属性:

 <Textbox HorizontalAlignment="Stretch" ...

这将使TextBox元素水平延伸,并水平地填充所有父空间(实际上,这取决于您正在使用的父面板,但在大多数情况下应该有效)。

百分比只能与网格单元格值一起使用,因此另一个选项是创建一个网格,并将文本框放入其中一个单元格中,并具有适当的百分比。

用户回答回答于

可以将文本框放置在网格中,对网格的行或列执行百分比值,并让文本框自动填充其父单元格(默认情况下是这样)。例子:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*" />
        <ColumnDefinition Width="3*" />
    </Grid.ColumnDefinitions>

    <TextBox Grid.Column="0" />
    <TextBox Grid.Column="1" />
</Grid>

例子:

<TextBox width="2*"/>
<TextBox width="3*"/>

扫码关注云+社区