【问题标题】:How to Remove Xamarin.Forms (1.4) ListView Header如何删除 Xamarin.Forms (1.4) ListView 标头
【发布时间】:2015-07-06 15:13:21
【问题描述】:

我正在使用 Xamarin.Forms 1.4 中的 ListView,我想知道是否有办法从我的 ListView 中删除页眉(和页脚)。由于它是“开箱即用”的,我的 ListView 顶部有额外的空白区域,如果 Header 属性设置为文本值,则会显示该值;但是,当保留为默认值,甚至设置为 string.empty 时,标题仍然占据顶部的空间。

任何指导将不胜感激!

*编辑 1:*

澄清一下,我没有使用 XAML,而是直接使用 C#——这是我用来创建 ListView 的 sn-p:

var listView = new ListView
{
    //Header = string.Empty,
    RowHeight = 160,
    ItemsSource = items,
    ItemTemplate = new DataTemplate(typeof(ItemCell))
};

我将注释行留在上下文/参考中...

*编辑 2:* 这是我的 iOS 模拟器的屏幕截图,演示了这个问题——当我滚动 ListView 在标题下滚动时,请注意顶部图像:

更新:解决方案

我将@FredyWenger 的回答标记为正确,但想提供我实施的实际修复程序来解决此问题。通过删除/注释掉下面的行,我可以摆脱 ListView 顶部和底部的额外空间:

Content = new StackLayout
{
    //VerticalOptions = LayoutOptions.CenterAndExpand,
    //HorizontalOptions = LayoutOptions.Center,

    Children = { listView }
};

【问题讨论】:

  • 我的项目中没有看到任何默认的 Header,并且我的 ListViews 没有 Header 属性。您是否尝试过完全删除该属性或将其设置为 null?如果这不起作用,请使用 0 高度标头制作模板,请参阅developer.xamarin.com/guides/cross-platform/xamarin-forms/…
  • Sten,你可能不在 1.4 版上。在 NuGet 控制台中尝试 update-package xamarin.forms。
  • Sten,我刚刚更新到 1.4。我也没有在 1.4 中看到默认标题大小。我现在可以添加标题并获得更多空间。但是,如果我将 Header 留空,它不会占用空间吗?汤姆,你能发布你的 Xaml 吗?是否在所有平台上都可以获得额外空间?
  • @Rhyous,我在上面更新了我的问题......我没有使用 XAML,只是 C#。我在编辑中加入了一个 sn-p。
  • @Rhyous,我目前只针对 iOS。

标签: listview xamarin.forms


【解决方案1】:

我不认为顶部的“额外空间”来自 ListView 标头(除非您明确定义,否则 LV 不应显示标头)。 我认为它来自另一个设置(母)控件(例如 StackLayout)。 我会在那里搜索...

【讨论】:

  • 谢谢@fredywenger!我在上面的问题中添加了解决问题的代码...
猜你喜欢
  • 2016-06-29
  • 2018-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
相关资源
最近更新 更多