wpf,ListBox,ScrollViewer内容向左向右偏移指定位置
public partial class Example : UserControl { private ScrollViewer myScrollViewer; public Example() { InitializeComponent(); } private void ScrollViewer_Loaded(object sender, System.Windows.RoutedEventArgs e) { myScrollViewer = (sender as ScrollViewer); ScrollBar verticalScrollBar = myScrollViewer.Template.FindName("PART_VerticalScrollBar", myScrollViewer) as ScrollBar; verticalScrollBar.SmallChange = 5; } private void LeftArrow_Click(object sender, System.Windows.RoutedEventArgs e) { myScrollViewer.LineLeft(); } private void RightArrow_Click(object sender, System.Windows.RoutedEventArgs e) { myScrollViewer.LineRight(); } }
// 获取或设置范围控件的当前数量。
verticalScrollBar.SmallChange = 5;//偏移5个元素
myScrollViewer.LineLeft();//触发偏移。。显示下5个元素。
//这个没有下面方式灵活,下面可以指定便宜到哪个位置。
还可以根据ListBox中ItemsPanel里的StackPanel的TranslateTransform来做偏移。
//代码没有,有需求的人比较少,,有的话可以回复我给你。