簡體   English   中英

C# WPF 在項目 position 設置 ScrollViewer 垂直偏移

[英]C# WPF Set ScrollViewer vertical offset at item position

我正在使用ScrollViewer滾動帶有可變數量TextBoxItemsControl

 <ScrollViewer extension:ScrollViewerExtension.ScrollOffset="{Binding TotalSearchOccurence}" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible"> <ItemsControl ItemsSource="{Binding Source={StaticResource viewSource}}"> <ItemsControl.ItemContainerStyle> <Style> <Setter Property="FrameworkElement.Margin" Value="5"/> </Style> </ItemsControl.ItemContainerStyle> <ItemsControl.ItemTemplate> <DataTemplate> <controls:HighlightTextBlock IsHighlightEnabled="{Binding Path=DataContext.SearchBarModel.IsVisible, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}" LineHightlights="{Binding Path=LineHightlights}" Text="{Binding Path=Content, Mode=OneWay}" Background="Transparent" BorderThickness="0" Foreground="{Binding Path=Color, Mode=OneWay}" FontSize="14" SelectedHighlightIndex="{Binding SelectedHighlightIndex}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </ScrollViewer>

我想在特定行項目 position 處設置我的ScrollViewer的垂直偏移,以便該項目位於我的屏幕頂部(如果該項目不在我的ItemControl的最后位置)。

我擁有的不同信息是ItemControl中的項目總數和ScrollViewer的最大可滾動偏移量。

我怎么能做到這一點?

您必須在 UIElement 上調用BringToView()

例如,如果您在封裝在ScrollViewer中的ItemsControl的項目列表中包含TextBlock ,則可以執行TextBlock.BringIntoView()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM