这是我到目前为止尝试过的:

<ListView RowHeight="50">
   <ListView.Header>
      <Grid>
         <Grid.RowDefinitions>
            <RowDefinition Height="49" />
            <RowDefinition Height="1" />
         </Grid.RowDefinitions>
         <Label Grid.Row="0" BackgroundColor="#EEEEEE" Text="ABC" />
         <BoxView Grid.Row="1" BackgroundColor="#999" HeightRequest="1" />
      </Grid>
   </ListView.Header>
   <ListView.ItemTemplate>

我曾预期会看到顶部区域的颜色为EEE,在其下方的高度为1且颜色为999的线

但是,在EEE颜色和999行之间有一个大约3-4像素高的白色区域。

有谁知道为什么会有这个,以及如何更改它以便999行直接出现在EEE颜色区域的下方?

#1楼 票数:3 已采纳

我认为这是因为网格(6)的默认RowSpacing值*。 设置<Grid RowSpacing="0">摆脱它。

*有关更多信息请参见Grid类的源代码

尽管如此,如果您的布局与显示的完全一样,我建议您使用StackLayout(带有Spacing="0" )而不是Grid。 像这样:

<StackLayout Spacing="0">
    <Label BackgroundColor="#EEEEEE" 
           Text="ABC"
           HeightRequest="49"/>
    <BoxView BackgroundColor="#999" 
             HeightRequest="1" />
</StackLayout>

结果(首先使用网格,其次使用StackLayout):

样品

#2楼 票数:2

在上面的行中使用负边距,因此您的“ ABC”行的底部边距为-6

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="49" />
        <RowDefinition Height="1" />
    </Grid.RowDefinitions>
    <Label Grid.Row="0" BackgroundColor="#EEEEEE" Text="ABC" Margin="0,0,0,-6" />
    <BoxView Grid.Row="1" BackgroundColor="#999" HeightRequest="1" />
</Grid>

  ask by Alan2 translate from so

未解决问题?本站智能推荐:

1回复

为什么ListView.Header中的此标签无法显示所有文本?

的Android:6.0 Xamarin表格:2.1.0.6529 创建一个新的Xamarin.Forms项目并将其粘贴: 结果是这样的: 如您所见, 文本被裁剪,并且显示的内容不超过前100行 。 Label本身(黄色背景)很好,因为我强迫高度过大, 否则Label的高度
1回复

滚动时保持ListView.Header锚定/粘性/冻结到顶部

如何保持内置的Header一个的ListView通过垂直向下滚动时冻结顶端ListView项目? 在标记为重复之前:我尝试在 UWP中的Keep ListView.HeaderTemplate 可见/静态/粘性中应用答案,用于针对 Android 的 Xamarin.Forms,但没有成功。 短代码
1回复

将我自己的页面添加到底部导航

我正在遵循本指南( https://15mgm15.ghost.io/2018/06/06/bottom-tabbed-page-for-xamarin-forms-android/ ),但是我不知道如何添加页面已添加到项目中。 我需要在此处添加一些内容,以便应用程序了解要显示哪些页面:
1回复

在Xamarin.iOS中将单个项目添加到ListView

我有一个Xamarin.iOS应用程序,该应用程序在.xaml文件中具有ListView,该文件最初在启动时从数据库中填充了大约4000项(可能更多)。 用户将在打开该应用程序的另一个页面时在该页面上创建条目,因此我想在.xaml.cs文件中添加一个函数以仅使用该条目来更新ListView,
1回复

在C#中将对象数组添加到ListView

您能否让我知道如何用Xamarin形式的此对象数组填充listview。 谢谢
3回复

Xamarin.Forms将一个GestureRecognizer添加到ListView中的图像

我正在尝试向ListView中的图像添加点按手势 下面的图像在没有Image.GestureRecognizers部分的ListView中正确呈现,但是使用它,ListView根本不呈现任何内容(没有错误消息)。 为了澄清这一点,ListView中还有一个Label,它也不会呈现。 我
1回复

我将新项目添加到ObservableCollection后,ListView不会立即更新

我正在学习Xamarin.Forms,并且已使用Master-Detail项目模板使用Visual Studio 2019创建了一个新项目。 我正在使用UWP(因为我想制作Windows 10应用程序)。 为什么添加新项目后列表视图没有立即显示? 这是由事件/消息传递的缓慢引起的,还是有动画正在故意
1回复

如何在XamarinForms中将DataBound事件处理程序添加到ListView?

我正在使用绑定到xamarin表单上的ListView的ObservableCollection<T> 。 并想作一个空列表验证并显示label 。 首次添加,删除或绑定数据时,我需要在列表视图中添加“ EventHandler”。 可以从ObservableCollect