【发布时间】:2020-01-27 08:34:16
【问题描述】:
我基本上是从here 复制代码,然后将变量更改为我的。我还复制了 ExpressionBuilder 文件夹下的文件。
而在ShyHeader.cs里面,有这样一行代码:
var scrollViewer = gridView.GetFirstDescendantOfType<ScrollViewer>();
所以我为我的ListView 尝试了同样的事情,但它显示未定义:
SongsListView.GetFirstDescendantOfType<ScrollViewer>()
所以我在SongsListView 周围放了一个ScrollViewer 并使用它。但我无法让它为我的项目工作。标题既不粘在上面也不害羞。它只是正常滚动。谁能帮我调试一下?
SongsListView 是here。
SongsListView 使用here in HeaderedPlaylistControl。
ShyHeader 在底部实现here。
HeaderPlaylistControl 用于AlbumPage、MyFavoritesPage 和PlaylistsPage。
【问题讨论】:
-
GetFirstDescendantOfType可能是GridView的扩展方法。 -
使用我自己的
ScrollViewer怎么样?为什么它不起作用?我什至使用ScrollHeader并将其Mode设置为“粘性”。但是标题仍然不粘。这发生在我尝试实现 Shy Header 之前。 -
请查看
VisualTreeHelperExtensions.cs类,它基于VisualTreehHelper。 -
如您所知,每个 ListView 都包含用于滚动内容的
ScrollViewer。 -
使用这个方法你可以把这个扩展复制到你的项目中,这是一个扩展类,它适用于所有
DependencyObject。
标签: c# xaml uwp win-universal-app