C# Wpf viewbox在用户单击后调整大小
我有一个viewbox,它在windows加载后正在调整大小。加载完成后,当我单击窗口中的某个位置或调整其大小时,窗口将被调整大小:C# Wpf viewbox在用户单击后调整大小,c#,.net,wpf,user-interface,C#,.net,Wpf,User Interface,我有一个viewbox,它在windows加载后正在调整大小。加载完成后,当我单击窗口中的某个位置或调整其大小时,窗口将被调整大小: <Viewbox Grid.Column="0" Stretch="Fill" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5, 5, 5, 5"> <Grid Background="White">
<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>
我发现了奇怪的行为: 在主窗口(父控件)中,我们有以下选项:SizeToContent=“WidthAndHeight” 在第一次用户交互中,主窗口确保所有控件都尊重该属性。正因为如此,控件的宽度和高度都得到了调整。问题是,在用户交互之后,控件的大小正在调整,这可能是因为要保持内部控件的纵横比,或者是与viewbox的容器大小有关的某些内容
解决方案是仅用宽度替换宽度和高度,因为尺寸调整来自垂直尺寸。Faka you downvotter。这似乎是微软的错误。