ScrollIntoView()
方法对我不起作用,但我能够将问题缩小一点。
我们已更改GridView
的样式,如下所示:
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridView">
<Border>
<ScrollViewer x:Name="ScrollViewer" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="38" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="120"/>
</Grid.ColumnDefinitions>
<Border x:Name="NewGroupPlaceHolderFirst" Grid.Column="0" ... />
<ItemsPresenter Grid.Row="1" ... />
<Border x:Name="NewGroupPlaceHolderLast" Grid.Column="2" ... />
</Grid>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
当ItemsPresenter
独立于ScrollViewers
时,该方法可行。
但是需要边界来创建一个新的组。
是否有可能使此方法有效的解决方案?
的问候, 奥利弗
答案 0 :(得分:1)
您必须自己实现滚动:
滚动到该位置。
var offset = targetItem.TransformToVisual(scrollViewer).TransFormPoint(new Point(0,0))。X; scrollViewer.ScrollToHorizontalOffset(偏移);