1

我正在尝试为一些(不同尺寸的)图像提供相同的尺寸。我所有的图像都应该是 90x258 (w*h),但不知何故我无法让它工作。

这是我的代码:

<StackPanel Orientation="Horizontal">
    <Border BorderThickness="4,0,0,0" BorderBrush="BlanchedAlmond">
        <Image x:Name="Image" Source="{Binding Image}" Width="90" Height="258" />
    </Border>

    <StackPanel Orientation="Vertical" Width="164">
        <TextBlock TextWrapping="Wrap" Style="{StaticResource ItemTextStyle}" Text="{Binding Title}" Margin="10,0"/>
        <TextBlock TextWrapping="Wrap" Style="{StaticResource CaptionTextStyle}" Text="{Binding Authors}" Margin="10"/>
    </StackPanel>
</StackPanel>

我玩弄了Stretch图像的属性,但无论我选择什么,图像都不会是 90x258。

使用默认Uniform拉伸时,它会保持纵横比(我不希望这样),当我选择None图像时,它会以其原始尺寸显示,UniformToFill并且Fill会使图像如此之大,以至于实际上只有一小部分显示在图像容器。

这是一个例子:

在此处输入图像描述

我希望它以 90x258 显示本书的完整封面:

在此处输入图像描述

任何人都可以帮助我吗?

4

1 回答 1

2

尝试将高度设置为自动,将拉伸设置为填充

<StackPanel Orientation="Horizontal">
    <Border BorderThickness="4,0,0,0" BorderBrush="DodgerBlue">
        <Image x:Name="Image" Source="{Binding Image}" HorizontalAlignment="Left" Width="94" Stretch="Fill" />
    </Border>

    <StackPanel Orientation="Vertical" Width="164">
        <TextBlock TextWrapping="Wrap" Style="{StaticResource ItemTextStyle}" Text="{Binding Title}" Margin="10,0"/>
        <TextBlock TextWrapping="Wrap" Style="{StaticResource CaptionTextStyle}" Text="{Binding Authors}" Margin="10"/>
    </StackPanel>
</StackPanel>
于 2012-11-25T00:20:31.437 回答