使用以下代码,我无法让背景图像以原始大小显示(它总是更大)。我尝试更改Stretch
属性,但“无”似乎是最合适的值。
<Canvas Width="500" Height="500">
<Canvas.Background>
<ImageBrush
ImageSource="{Binding ElementName=w_window, Path=BackgroundImagePath}"
Stretch="None"
AlignmentX="Left"
AlignmentY="Top"
/>
</Canvas.Background>
</Canvas>
在下图中,您可以在左侧看到我的应用,在右侧看到照片查看器(设置为原始尺寸)。
有什么建议吗? (顺便说一句,设置ClipToBounds="True"
不起作用。)
似乎我的问题不仅限于图像是背景的时候。以下代码(其中Image
是唯一的元素)具有相同的大小调整问题。这不仅仅是我的机器出现这个问题(即应用程序在其他机器上出现此问题)。
<Window x:Class="DiagramDesigner.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="1000">
<Image
Source="C:\Users\patk\Downloads\Bottom_wnums.jpg"
Stretch="None"
HorizontalAlignment="Left"
VerticalAlignment="Top"
/>
</Window>
答案 0 :(得分:3)
之前我遇到过这个问题。不过我当时使用的是PNG文件而不是JPG,但我认为问题可能是相关的。 这可能是您正在使用的图像的问题(因为您发布的代码看起来很好)。图像应存储在96 DPI(这是标准)。其他值可能会导致图像缩放。 如果您确实无法更改/修复图片以满足此要求,您可能需要检查this post from Scott Hanselman以更多地了解问题,以便找到正确的答案。