我正在使用WPF矩形,需要在重新调整窗口大小时重新调整大小。我尝试了几个帮助发布了几个地方,比如在尺寸之后使用星号(“*”)但是没有用。关于此事的任何帮助?
<StackPanel>
<Rectangle Height="5">
<Rectangle Height="495">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#F7F6EF" Offset="0.0"></GradientStop>
<GradientStop Color="#E5DABE" Offset="1.0"></GradientStop>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</StackPanel>
答案 0 :(得分:1)
调整网格及其子元素的大小,然后将其放在视图框中。它将全部扩展和收缩。
<Viewbox Stretch="Uniform" MinHeight="700" MinWidth="258">
<Grid Height="700" Width="250">
<Grid Width="235" Margin="0,15,0,0" Height="620">
</Grid>
</Grid>
</Viewbox>
那种事 你甚至可以创造一些好的东西,比如强迫拉伸变得均匀,这就是我认为你所追求的。
请记住,你需要在顶部:
ResizeMode="CanResizeWithGrip"
显然它不需要抓握,只是没有假,但我喜欢抓地力。编辑:我认为这是默认的。
请注意,视图框只能有一个子视图,因此请确保仍然使用网格/画布等来绘制矩形,就像正常一样。如果你试图聪明地动态地在视图框中设置网格的大小,它也会搞砸。
答案 1 :(得分:1)
只需将StackPanel更改为DockPanel
即可答案 2 :(得分:0)
如果您希望将内部矩形绑定到网格的两侧并按比例缩放比例,请使用horizontalalign和verticalalign。这会将子元素的边“固定”到父容器。
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="1*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Rectangle Column="0" HorizontalAlign="stretch" VerticalAlign="stretch"/>
使用星号使用内部算法,该算法根据设定值划分元素(1 *和2 *相当于第一列占据屏幕的1/3,第二列占据屏幕的2/3 )