我有一个带有DataTemplate的List Box,在DataTemplate中有一个Image。以下是我的代码:
<DataTemplate x:Key="DataTemplate">
<Border
Background="#FFFFFF"
Margin="0,2,0,0"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
<Grid Width="Auto"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Image Style="{StaticResource ImageStyle}"
Stretch="UniformToFill"
Source="{Binding ImageName}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="1,1,1,1"/>
</Grid>
</Border>
</DataTemplate>
我的图片相当大1000x1000,但我想在运行时缩小图像大小,以便它在列表框项目中看起来不错。
我怎样才能实现这个目标?
我尝试在ImageStyle of Image
<Setter Property="MaxHeight" Value="210"/>
<Setter Property="MaxWidth" Value="210"/>
但它会缩小视图尺寸而不是图像尺寸,因此我的图像会缩小。
注意:请注意我正在使用Windows Phone 8应用程序。
答案 0 :(得分:2)
我不完全明白你的意思
它会缩小视图大小而不是图像大小
但是你不希望你的图像被剪裁,你应该设置Stretch="Uniform"
统一:调整内容大小以适应目标维度,同时保留其原始宽高比。
并将其设置为Stretch="UniformToFill"
UniformToFill:调整内容的大小以填充目标维度,同时保留其原始宽高比。 如果目标矩形的宽高比与来源不同,则剪切源内容以适合目标尺寸。