【发布时间】: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。