我正在尝试将横向和纵向图像绑定到网格控件。风景图像正确加载,但在加载肖像图像时我遇到了问题。它们的底部被切断(溢出),因此网格行无法加载图像的完整高度。我尝试使用高度=“自动”或高度=“*”设置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>
如何在不手动设置网格或图像控件的宽度或高度的情况下解决此问题?
P.S。 ItemsControl 是另一个Grid控件的一部分。它填充(Grid.Row =“0”),我设置为高度=“*”
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
答案 0 :(得分:0)
您应该查看Image对象的Stretch属性
“填充”值将使图像拉伸以完全填充输出区域。当输出区域和图像具有不同的纵横比时,通过该拉伸使图像失真。要使图像保留图像的纵横比,请将此属性设置为Uniform(默认)或UniformToFill。