我正在开发图片查看器应用程序,我想为它添加新功能。
直到这次,我在XAML中修改了Image控件的大小
Height="422" Width="444"
,但我想在页面上使用所有可能的空格,它是Width="447" Height="585"
<StackPanel Height="422" Width="444">
<Image Height="414" HorizontalAlignment="Center" Margin="9,6,0,0" Name="image2" Stretch="Uniform" VerticalAlignment="Center" Width="441" />
</StackPanel>
背后的代码
var stream = new IsolatedStorageFileStream(path, FileMode.Open, _file);
var image = new BitmapImage();
image.SetSource(stream);
stream.Close();
if (image1 != null) image1.Source = image;
所以,我的问题是:
Width="447" Height="585"
大小,我有纵向和横向图片?Width="585" Height="447"
,我该如何管理呢? (我想如果我能找到第一个解决方案,而不仅仅是认为我需要的是正确的事件来处理这个问题)与此类似(http://stackoverflow.com/questions/6857142/handling-size-of-image-after- orientation-change-wp7),但我需要看一些代码才能理解。请发布一些代码或链接到教程,以防止“经典”对话,其中一个人现在如何做,并认为它很简单,其他人现在知道它是如何工作的。
答案 0 :(得分:4)
您可以通过它的宽度和高度属性直接更改图像控件的大小。
image2.Width = "447";
image2.Height = 585;
如果您想要在图像控件中正确放入图片,则可以使用属性Stretch
image2.Stretch = Stretch.UnifromToFill;
处理方向更改处理页面的OrientationChanged
事件并在其中进行图像处理
答案 1 :(得分:0)
试试这个,
更改方向时,会显示以下事件。
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
if (this.Orientation == PageOrientation.Portrait)
{
optionsup.VerticalOffset = 447;
optionsup.HorizontalOffset = 585;
}
else
{
optionsup.VerticalOffset = 585;
optionsup.HorizontalOffset = 447;
}
}
最初的方向是PortraitUp然后
optionsup.VerticalOffset = 447;
optionsup.HorizontalOffset = 585;
我的英语很差,如果有任何错误,请不要介意。
答案 2 :(得分:0)
感谢您的回答,我这样做了:我已经<Image Height="Auto" Width="Auto"
和Name="image1" Stretch="UniformToFill"/>
因此,Silverlight将为我完成所有工作。