我有一个视窗框在Windows加载后调整大小。加载完成后,当我单击窗口中的某个位置或调整窗口大小时,窗口会调整大小:
<Viewbox Grid.Column="0" Stretch="Fill" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5, 5, 5, 5">
<Grid Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="5*" MinWidth="150" />
<ColumnDefinition Width="4*" MinWidth="150" />
</Grid.ColumnDefinitions>
<Image x:Name="ImgTwitterUserPhoto" HorizontalAlignment="Left" Grid.Column="0" MaxWidth="150" MaxHeight="150" Margin="10, 10, 10, 10"
VerticalAlignment="Top"/>
<Grid Grid.Column="1" SnapsToDevicePixels="True" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="10*"></RowDefinition>
<RowDefinition Height="10*"></RowDefinition>
<RowDefinition Height="80*"></RowDefinition>
</Grid.RowDefinitions>
<Label x:Name="LblTwitterUserName" Content="" HorizontalAlignment="Left"
VerticalAlignment="Top" Grid.Row="0"
FontFamily="Segoe UI Light" FontSize="20"/>
<Label x:Name="LblTwitterUserHandle" Content="" HorizontalAlignment="Left"
VerticalAlignment="Top" FontSize="12"
FontFamily="Segoe UI Semibold" Grid.Row="1"
Foreground="#FF8B8888" Opacity="0.8"/>
</Grid>
</Grid>
</Viewbox>
答案 0 :(得分:0)
我发现了奇怪的行为:
在主窗口(父控件)中,我们有这个选项:SizeToContent =“WidthAndHeight”
在第一次用户交互中,主窗口确保所有控件都遵循该属性。因此,控件的宽度和高度都会调整大小。问题是控件在用户交互后调整大小,可能是因为内部控件的长宽比要保持不变,或视图框中的内容与容器大小有关。
解决方案是仅使用Width替换WidthAndHeight,因为调整大小来自垂直维度。