C# 在运行时减小图像大小

C# 在运行时减小图像大小,c#,wpf,silverlight,windows-phone-8,windows-phone,C#,Wpf,Silverlight,Windows Phone 8,Windows Phone,我有一个带有DataTemplate的列表框,在DataTemplate中我有一个图像。下面是我的代码: <DataTemplate x:Key="DataTemplate"> <Border Background="#FFFFFF" Margin="0,2,0,0" VerticalAlignment="Stretch"

我有一个带有DataTemplate的列表框,在DataTemplate中我有一个图像。下面是我的代码:

<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>
但它会减少视图大小,而不是图像大小,因此我的图像正在剪切


注意:请注意,我正在使用Windows Phone 8应用程序。

我不完全理解您的意思

它将减小视图大小,而不是图像大小

但是如果你不想剪掉你的图像,你应该设置

统一:内容将调整大小以适应目标维度,同时保留其本机纵横比

然后将其设置为
Stretch=“UniformToFill”

UniformToFill:内容将调整大小以填充目标维度,同时保留其本机纵横比如果目标矩形的纵横比与源不同,则源内容将被剪裁以适合目标尺寸


在设置了Stretch=“Uniform”之后,它工作正常,但我还有一个问题,有4种不同大小的设备,WVGA 512、WVGA、WXVGA、720p,我已经将MaxHeight和MaxWidth设置为210,但是,在所有设备上,图像看起来如何或大小合适?我的意思是MaxWidth和MaxHeight 210,正如我在emulator for WVGA 512上测试的那样,图像看起来不错,但在所有其他大小为210的设备上,图像看起来不错的gaurentee是什么?如果没有,如何解决这个问题?您已经标记了您对WPF、Silverlight和Windows Phone的质疑。如果这是WPF,那么您可以使用来控制它,因此您可以设置,例如
,但是,据我所知,Silverlight和Windows Phone版本中不存在WPF。好的,我会接受答案,我还有一个查询要查询列表框caan,请您帮助我?如果您需要有关此问题的更多说明,我可以尝试。如果不是,最好再问一个问题
<Setter Property="MaxHeight" Value="210"/>
<Setter Property="MaxWidth" Value="210"/>