[英]C# WPF - How to place a vertical scrollviewer inside a horizontal scrollviewer
[英]C# WPF Set ScrollViewer vertical offset at item position
我正在使用ScrollViewer
滾動帶有可變數量TextBox
的ItemsControl
。
<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.