首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确使用Xamarin窗体中网格中多行的图像

如何正确使用Xamarin窗体中网格中多行的图像
EN

Stack Overflow用户
提问于 2018-07-03 16:50:26
回答 1查看 1.4K关注 0票数 0

我正试图在我的Xamarin表单应用程序中创建一个定制的、材料风格的、卡片单元格。我的外表很差,但我的形象有问题。我想要它接触顶部和底部边缘,左手边,并成为一个方形的形状,同时保持高宽比。但现在,我得到的只是这张不能打球的小图像:

(我不得不用油漆覆盖公司的图像,但相信我,它们的尺寸差不多)。

这是我真正想要的(再次,请原谅我的油漆工作)

我在网格视图中使用一个图像,在第一列中,并跨越所有4行。我试过所有的LayoutOptions,我曾经理解过,但现在我开始怀疑自己了。我还尝试将图像放入Stacklayout中,因为我认为您可以扩展StackLayout的子级,但仍然没有骰子。下面是我现在简化的Xaml:

代码语言:javascript
运行
复制
<Frame CornerRadius="10"  
    Margin="10, 5"
    IsClippedToBounds="True"   
    BackgroundColor="White">

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

    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*" />
      <ColumnDefinition Width="2*" />
      <ColumnDefinition Width="*" />
      <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <StackLayout Grid.Row="0" Grid.Column="0" Grid.RowSpan="4" 
                 HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
      <Image HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Aspect="AspectFill" Source="{Binding ImageSource}"/>
    </StackLayout>

    <Label Grid.Row="0" Grid.Column="1"
         Text="{Binding Favourite.FavKindName}"
         FontSize="{DynamicResource InfoLargerTextFontSize}"/>

    <Image Grid.Row="1" Grid.Column="3" Grid.RowSpan="4" Source="Contact.png"
           VerticalOptions="CenterAndExpand" >
      <Image.GestureRecognizers>
        <TapGestureRecognizer />
      </Image.GestureRecognizers>
    </Image>

  </Grid>
</Frame>

更重要的是,你可能知道我对右边的电话图标一无所知。我希望它能占据中心位置,并使卡片单元的按键尺寸更大。

我花了好几个小时想办法解决这个问题。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-03 18:02:20

Frame的默认Padding为20,这就是为什么在框架中有这些边距的原因。

代码语言:javascript
运行
复制
<Frame Padding="0" // Here , set padding to 0, so you can fill all Frame space
    CornerRadius="10"  
    Margin="10, 5"
    IsClippedToBounds="True"   
    BackgroundColor="White">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51159545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档