首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有动态宽度的Xamarin网格列:尽管赋值,对象仍占据错误的列

具有动态宽度的Xamarin网格列:尽管赋值,对象仍占据错误的列
EN

Stack Overflow用户
提问于 2021-07-20 01:34:21
回答 1查看 151关注 0票数 0

我正在尝试在Xamarin窗体中创建一个网格,其中有两列,每个列占据半个屏幕。我按如下方式实现了我的XAML

代码语言:javascript
运行
复制
<Grid VerticalOptions="End" HorizontalOptions="CenterAndExpand" BackgroundColor="#3F4045" Margin="0,0,0,0">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="5*"/>
        <ColumnDefinition Width="5*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Rectangle Grid.Row="0" Grid.ColumnSpan="2" VerticalOptions="Center" HorizontalOptions="CenterAndExpand" BackgroundColor="#3F4045"/>
    <Grid Grid.Row="1">
        <Grid Grid.Column="0" HorizontalOptions="Start">
            <Frame BackgroundColor="#FCFCFC" CornerRadius="0" Margin="0" Padding="0">
                <Entry TextColor="#3F4045" BackgroundColor="#FCFCFC" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" PlaceholderColor="#3F4045" Placeholder="Last Name, First Name"/>
            </Frame>
         </Grid>
         <Grid Grid.Column="1" HorizontalOptions="Start">
             <Frame BackgroundColor="#FCFCFC" CornerRadius="0" Margin="0" Padding="0">
                 <Button TextColor="#3F4045" BackgroundColor="#FCFCFC" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" Text="Upload Records"/>
             </Frame>
         </Grid>
     </Grid>
</Grid>

这两个帧应该各占第二行的一半,它们之间有少量的空间。然而,当应用程序加载时,它们各自占据了第一列的一半,它们之间有少量的空间。我尝试将第二列的宽度从5*改为8*,正如我所预期的那样,两个框架都缩小了,因此它们占据了屏幕的5/13,这意味着它们实际上都在第一列中。下面是问题的图片和我用宽度5*和8*做的测试,以供参考:

在框架或网格标签中设置水平/垂直选项时,我是否遗漏了什么?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2021-07-20 01:57:06

解决方案是从网格标签中删除框架,并直接使它们成为父网格的子级,使用Grid.Row和Grid.Column将它们分配到适当的位置。

代码语言:javascript
运行
复制
<Grid VerticalOptions="End" HorizontalOptions="CenterAndExpand" BackgroundColor="#3F4045" Margin="0,0,0,0">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="5*"/>
        <ColumnDefinition Width="5*"/>
    </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Rectangle Grid.Row="0" Grid.ColumnSpan="2" VerticalOptions="Center" HorizontalOptions="CenterAndExpand" BackgroundColor="#3F4045"/>
    <Frame Grid.Row="1" Grid.Column="0" BackgroundColor="#FCFCFC" CornerRadius="0" Margin="0" Padding="0">
        <Entry TextColor="#3F4045" BackgroundColor="#FCFCFC" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" PlaceholderColor="#3F4045" Placeholder="Last Name, First Name"/>
    </Frame>
    <Frame Grid.Row="1" Grid.Column="1" BackgroundColor="#FCFCFC" CornerRadius="0" Margin="0" Padding="0">
        <Button TextColor="#3F4045" BackgroundColor="#FCFCFC" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" Text="Upload Records"/>
    </Frame>
</Grid>

以下是更新后的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68444760

复制
相关文章

相似问题

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