Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在wpf MVVM上使用缩放值显示图像_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

C# 在wpf MVVM上使用缩放值显示图像

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来展示。非常重要的是,显示

我在XAML中有这样的标记:

<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的一部分,因为我需要显示不同图像的相对大小,并且我喜欢在同一画布上绘制它们。