我在页面上放置了一个图片,如下所示:
如果有人尝试这个功能,他/她可能会发现StrechToFill会从底部裁剪图像内容,而我希望它能够从顶部和底部均匀裁剪,并在图像控件内使图像内容居中。
希望我表达清楚了,如果没有,请考虑使用提供的代码制作示例。非常感谢。
<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下载。
代码后台包含一些逻辑来处理页面方向改变事件。
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会从底部裁剪图像内容,而我希望它能够从顶部和底部均匀裁剪,并在图像控件内使图像内容居中。
希望我表达清楚了,如果没有,请考虑使用提供的代码制作示例。非常感谢。