如何在 Viewbox 中显示相同大小的图像?
How to show images with equal size in a Viewbox?
我有以下代码:
<StackPanel Orientation="Vertical">
<Viewbox Height="100" >
<Canvas x:Name="pluginTile" Style="{StaticResource productImageTopFade}" Width="320" Height="200">
<Image Panel.ZIndex="1" Source="{Binding PluginImagePath}" Margin="0,10,15,0" ></Image>
<Canvas.Effect>
<DropShadowEffect ShadowDepth="2" Opacity="0.15" Direction="270" BlurRadius="20" />
</Canvas.Effect>
</Canvas>
</Viewbox>
<Border BorderBrush="Transparent" BorderThickness="1">
<Label FontWeight="Normal" Name="ProductName" Content="{Binding NameAndEdition}" Margin="0 0 0 0" VerticalAlignment="Bottom" HorizontalAlignment="Center" Foreground="Gray" />
</Border></StackPanel>
我想在视图框中显示不同尺寸的图像,上面提到的代码是列表框的 ItemContainerStyle 的一部分。
问题是我在列表框中得到不同尺寸的图像,其中一些被剪切而一些尺寸缩小,有什么方法可以让我以相同的尺寸显示这些图像?
您需要将 Stretch="FiLL"
属性 添加到您的图片中。
我使用了网格面板而不是 canvas,它解决了问题。
我有以下代码:
<StackPanel Orientation="Vertical">
<Viewbox Height="100" >
<Canvas x:Name="pluginTile" Style="{StaticResource productImageTopFade}" Width="320" Height="200">
<Image Panel.ZIndex="1" Source="{Binding PluginImagePath}" Margin="0,10,15,0" ></Image>
<Canvas.Effect>
<DropShadowEffect ShadowDepth="2" Opacity="0.15" Direction="270" BlurRadius="20" />
</Canvas.Effect>
</Canvas>
</Viewbox>
<Border BorderBrush="Transparent" BorderThickness="1">
<Label FontWeight="Normal" Name="ProductName" Content="{Binding NameAndEdition}" Margin="0 0 0 0" VerticalAlignment="Bottom" HorizontalAlignment="Center" Foreground="Gray" />
</Border></StackPanel>
我想在视图框中显示不同尺寸的图像,上面提到的代码是列表框的 ItemContainerStyle 的一部分。 问题是我在列表框中得到不同尺寸的图像,其中一些被剪切而一些尺寸缩小,有什么方法可以让我以相同的尺寸显示这些图像?
您需要将 Stretch="FiLL"
属性 添加到您的图片中。
我使用了网格面板而不是 canvas,它解决了问题。