0

我正在尝试将横向和纵向图像绑定到网格控件。横向图像已正确加载,但在加载纵向图像时我遇到了问题。它们的底部被切断(溢出),因此网格行无法加载完整高度的图像。我尝试使用Height="Auto"Height="*"设置 Row 属性,但这不起作用。这是我的 XAML:

<ItemsControl ItemsSource="{Binding ItemsPrasanja}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>

                                <TextBlock 
                                    Name="txtPrasanje" 
                                    Grid.Row="0" 
                                    Text="{Binding Tekst}" 
                                    TextWrapping="Wrap"/>

                              <Image Name="imgPrasanje" 
                                    Grid.Row="1"  
                                    Source="{Binding Slika}"  
                                    Margin="0,5,0,0"
                                    />                                   
                            </Grid>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>

如果不手动为 Grid 或 Image 控件设置宽度或高度,我该如何解决这个问题?

PS ItemsControl是另一个 Grid 控件的一部分。它填充 (Grid.Row="0") 我设置为Height=" * "

                <Grid.RowDefinitions>
                   <RowDefinition Height="*"/>
                   <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
4

1 回答 1

0

您应该查看 Image 对象的 Stretch 属性

填充值将导致您的图像拉伸以完全填充输出区域。当输出区域和图像具有不同的纵横比时,图像会因这种拉伸而失真。要使 Image 保留图像的纵横比,请将此属性设置为 Uniform(默认)或 UniformToFill。

于 2013-08-11T08:33:04.983 回答