列表视图中的UWP访问主标题组

时间:2017-06-15 10:49:21

标签: c# listview header uwp

在UWP中,我需要从列表视图中获取当前组的信息。

我的群组定义为:

<CollectionViewSource x:Name="GroupsList" IsSourceGrouped="True"/>
<ListView x:Name="LvPeople" ItemsSource="{x:Bind GroupsList.View}"/>

保存当前可见组信息的属性是什么?

1 个答案:

答案 0 :(得分:0)

根据你的截图,我认为你真正想要的是获得第一个可见的组头信息。 AFAIK,目前没有属性可以直接获取当前第一个可见的标题。如果您确实需要此功能,则可能需要使用Visual​Tree​Helper获取组头内的元素并尝试计算它是否可见,但可能不建议这样做。 Here是一个类似的线程,你可以参考。以下方法可以帮助您判断它是否可见。

private bool IsVisibileToUser(FrameworkElement element, FrameworkElement container)
{
   if (element == null || container == null)
       return false;

   if (element.Visibility != Visibility.Visible)
       return false;

   Rect elementBounds = element.TransformToVisual(container).TransformBounds(new Rect(0.0, 0.0, element.ActualWidth, element.ActualHeight));
   Rect containerBounds = new Rect(0.0, 0.0, container.ActualWidth, container.ActualHeight);

   return (elementBounds.Top <= element.ActualHeight && elementBounds.Bottom > containerBounds.Top);
}

如需完整样本,请参阅this