【发布时间】:2018-09-24 13:27:57
【问题描述】:
我在Grid 内有一个Canvas,在宽度为Auto 的columndefinition 上。 Canvas 不会自动放大以容纳其元素。它的宽度始终保持zero。我必须手动硬编码宽度。
<Grid Height="35"
HorizontalAlignment="Right"
MouseEnter="floater_MouseEnter"
MouseLeave="floater_MouseLeave"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Canvas Grid.Column="1"
Background="White"
Height="32.7"
VerticalAlignment="Top"
Visibility="Visible"
>
<TextBlock Text="asdfsdf" FontSize="23"/>
</Canvas>
</Grid>
我希望画布的宽度根据元素进行缩放。我该怎么办?
【问题讨论】:
-
这是在选择 Canvas 而不是 Grid 时可以预料到的。 Canvas 用于绝对定位,它不会随其子级增长或收缩。简单的解决方法是用 Grid 替换它。