【发布时间】:2014-05-08 14:37:54
【问题描述】:
我正在开发 windows phone 8 应用程序。
我有一个列表框,其中绑定了图像和值。我需要在图像显示之前设置图像的宽度和高度。
列表框数据模板
<DataTemplate x:Key="DataTemplate">
<Border x:Name="ListItemBorder"
Margin="0,2,0,0"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
<Grid>
<Image
Style="{StaticResource ImageStyle}"
Stretch="Uniform"
Source="{Binding ImageName}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="1,1,1,1"/>
</Grid>
</Border>
</DataTemplate>
要获取图像的宽度和高度,我使用此代码
int width = 0;
int height = 0;
using (var stream = Application.GetResourceStream(new Uri("Assets/test.jpg", UriKind.Relative)).Stream)
{
var bmpi = new BitmapImage();
bmpi.SetSource(stream);
bmpi.CreateOptions = BitmapCreateOptions.None;
width = bmpi.PixelWidth;
height = bmpi.PixelHeight;
bmpi = null; // Avoids memory leaks
}
但是如何改变宽度和高度并设置呢?
【问题讨论】:
-
您需要公开 Width 和 Height 属性并从 Image 对象绑定到它们,类似于绑定到 ImageName 的方式。
-
@igrali 你能给我举个例子吗
标签: c# image silverlight windows-phone-8 windows-phone