我在页面上放置了一张图片,如下所示
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Name="im" Source="/images/hqdefault.jpg" Height="250" Stretch="UniformToFill" VerticalAlignment="Center"/>
</Grid>
这是整个 XAML 页面,图片可以从http://i.ytimg.com/vi/wNKKCHv-oOw/hqdefault.jpg下载
后面的代码包含一些处理 PageOrientation_Change 的逻辑
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
if (Orientation == PageOrientation.Landscape ||
Orientation == PageOrientation.LandscapeLeft ||
Orientation == PageOrientation.LandscapeRight)
{
im.Height = Application.Current.Host.Content.ActualWidth;
im.Width = Application.Current.Host.Content.ActualHeight;
im.VerticalAlignment = System.Windows.VerticalAlignment.Bottom;
im.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
}
else
{
im.Height = 250;
im.Width = Application.Current.Host.Content.ActualWidth;
}
}
如果有人可能会尝试这样做,他/她可能会发现 StrechToFill 从底部裁剪图像的内容,因为我期望它从顶部和底部均匀地裁剪它并保持图像内容在图像控件中居中。
希望我已经说清楚了,如果不是,请考虑从提供的代码中制作一个示例。非常感谢。