Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将WinRT ListView滚动到特定组_C#_.net_Xaml_Windows Runtime - Fatal编程技术网

C# 将WinRT ListView滚动到特定组

C# 将WinRT ListView滚动到特定组,c#,.net,xaml,windows-runtime,C#,.net,Xaml,Windows Runtime,我有一个列表视图,里面有分组的项目。用户有不同的方式导航到页面中,根据他导航的方式,我希望在页面打开时查看某个组 我尝试设置这些: itemGridView.ScrollIntoView(....); itemGridView.SelectedIndex = ....; itemGridView.SelectedItem = ....; 其中itemGridView是ListView的名称,但这一切似乎都不起作用 非常感谢您的帮助。您可以进行一些可视化树遍历以查找作为ListView模板一部分

我有一个列表视图,里面有分组的项目。用户有不同的方式导航到页面中,根据他导航的方式,我希望在页面打开时查看某个组

我尝试设置这些:

itemGridView.ScrollIntoView(....);
itemGridView.SelectedIndex = ....;
itemGridView.SelectedItem = ....;
其中itemGridView是ListView的名称,但这一切似乎都不起作用


非常感谢您的帮助。

您可以进行一些可视化树遍历以查找作为ListView模板一部分的ScrollViewer,找到组并将ScrollViewer滚动到您组的位置。

您可以进行一些可视化树遍历以查找作为ListView模板一部分的ScrollViewer,找到该组并将ScrollViewer滚动到您所在组的位置。

我明天会试一试。我希望有一个更简单的解决方案,但如果一个人必须遍历一个可视化树,那么他就必须遍历一个可视化树:不过,DWinRT-XAML工具包应该让它变得简单。只需调用var sv=itemGridView.getFirstDegenantofType(),然后调用var groupView=sv.getDegenantSoftType()。其中(gv=>gv.DataContext==yourGroupViewModel),然后调用sv.ScrollIntoView(gv)。当然,除非它不起作用……:)如果所有内容都是数据绑定的,那么在哪里和什么时候查找子体是安全的?我在页面的已加载事件处理程序中进行了尝试,但似乎还没有创建所有的组(例如,子体列表有3个项,尽管我有5个组等)。如果使用虚拟化面板,则可能有3个项而不是5个项。您可能需要尝试这样做来禁用虚拟化,否则-我不确定可视化树可能是什么。。。是的,你是对的,stackpanel是虚拟化的,这可能会给我穿越它带来麻烦。我明天会试试看。我希望有一个更简单的解决方案,但如果一个人必须遍历一个可视化树,那么他就必须遍历一个可视化树:不过,DWinRT-XAML工具包应该让它变得简单。只需调用var sv=itemGridView.getFirstDegenantofType(),然后调用var groupView=sv.getDegenantSoftType()。其中(gv=>gv.DataContext==yourGroupViewModel),然后调用sv.ScrollIntoView(gv)。当然,除非它不起作用……:)如果所有内容都是数据绑定的,那么在哪里和什么时候查找子体是安全的?我在页面的已加载事件处理程序中进行了尝试,但似乎还没有创建所有的组(例如,子体列表有3个项,尽管我有5个组等)。如果使用虚拟化面板,则可能有3个项而不是5个项。您可能需要尝试这样做来禁用虚拟化,否则-我不确定可视化树可能是什么。。。是的,你是对的,stackpanel是虚拟化的,这可能会给我穿越它带来麻烦。