[英]Scrollview for Itemscontrol grid
我有一个自定义控件,基本上是一个项控件。 这是一个3x3按钮的网格,我希望每个页面具有3x3按钮的滚动视图具有不同的页面。
以下是一些图片来说明我的意思:
我将如何创建这样的东西? 我的控件的完整代码可以在这里找到: 访问ItemsControl项目并逐个制作动画。
提前致谢!
您可以在Grid中添加ScrollViewer,并将3x3 Grid放置在水平放置的StackPanel中。
<Grid >
<ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Visible" ScrollChanged="ScrollViewer_ScrollChanged">
<StackPanel Orientation="Horizontal" Name="stack">
...
</StackPanel>
</ScrollViewer>
</Grid>
然后使用ScrollViewer_ScrollChanged更改滚动偏移量
private void ScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
int direction = e.HorizontalChange > 0 ? 1 : -1;
(sender as ScrollViewer).ScrollToHorizontalOffset(stack.ActualWidth * direction / [number of grids]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.