C# 在wpf MVVM上使用缩放值显示图像
我在XAML中有这样的标记:C# 在wpf MVVM上使用缩放值显示图像,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我在XAML中有这样的标记: <Canvas Width="250" Height="250"> <Image Source="{Binding UserImage}" HorizontalAlignment="Center" VerticalAlignment="Center" /> </Canvas> 这是以其原始大小显示图像(我不知道大小,因为它取决于设计时不可用的userimage) 我想用它原来尺寸的1/10来展示。非常重要的是,显示
<Canvas Width="250" Height="250">
<Image Source="{Binding UserImage}" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Canvas>
这是以其原始大小显示图像(我不知道大小,因为它取决于设计时不可用的userimage)
我想用它原来尺寸的1/10来展示。非常重要的是,显示图像的像素大小正好是原始图像大小的1/10
我该怎么做
这是一个MVVM应用程序,如果可能的话,我更喜欢用XAML而不是C代码来实现这一点。我本想把它放在评论中,但我没有足够的代表性。你能不能只设置
标记的高度和宽度而不是
标记?或者可能在
标记上使用MaxHeight和MaxWidth属性?是否尝试在图像上应用缩放变换?首先,将以下内容添加到图像
控件中,以强制以原始大小绘制该控件:
<Image ... Stretch="None" />
<Image Stretch="None" Source="{Binding UserImage}" HorizontalAlignment="Center" VerticalAlignment="Center">
<Image.LayoutTransform>
<ScaleTransform ScaleX="0.1" ScaleY="0.1"/>
</Image.LayoutTransform>
</Image>
您不能为图像设置高度和宽度吗?除非您有动态要求,否则应该可以解决这个问题。@Muds如果我不设置图像的宽度和高度,它将以其原始大小显示,但我想显示其原始大小的1/10。我建议您设置图像的高度和宽度,而不是画布的高度和宽度。将“大小”设置为“图像”将调整其大小。@Muds:不能这样做,因为它只是xaml的一部分,因为我需要显示不同图像的相对大小,并且我喜欢在同一画布上绘制它们。