XAML中的图像固定尺寸

时间:2012-11-24 12:37:12

标签: xaml windows-8 microsoft-metro winrt-xaml frontend

我试图给出一些相同尺寸的图像(不同尺寸)。我的所有图像应该是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会使图像变得如此之大,以至于只有一小部分图像实际显示在图像容器中。

以下是一个例子:

enter image description here

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

enter image description here

有人可以帮我吗?

1 个答案:

答案 0 :(得分: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>