如何防止XAML网格列拉伸到未格式化图像的高度?

时间:2017-05-08 02:01:07

标签: c# android xaml xamarin.forms

我将以下XAML作为Xamarin.Forms项目的一部分编写,该项目在网格的左列中有一个图像,在网格的右列中有一些文本。

<?xml version="1.0" encoding="utf-8" ?>
<Grid xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="SwinApp.Components.UI.CardExternalLink">
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="5*"></ColumnDefinition>
  </Grid.ColumnDefinitions>

  <StackLayout Grid.Column="0">
    <Image x:Name="menuIcon" Aspect="AspectFit" ></Image>
  </StackLayout>


  <StackLayout Grid.Column="1">
    <Label Text="{Binding Title}" Font="Bold"></Label>
    <Label Text="{Binding Description}"></Label>
  </StackLayout>
</Grid>

我希望图像位于左列内,而不是伸展到它的完整大小,它确实在做,但是它在列的上方和下方都有大量的空白,好像它还在处理它尽管显示较小,但仍然是全尺寸图像。 (忽略我没有为图像设置源的事实,我通过.cs文件设置它,因为在使用Xamarin.Forms时它应该更容易做到这一点。)

我是否可以将某些属性放置在左列,堆栈面板上,甚至可能放置出去除多余空白的图像?

提前致谢,如果您希望我在此处添加.cs文件,请与我们联系。

1 个答案:

答案 0 :(得分:1)

您可以删除StackPanel并将Image的{​​{1}}和HorizontalOptions设置为VerticalOptions

希望它有所帮助!