大佬教程收集整理的这篇文章主要介绍了如何在Windows 8 Metro(C/XAML)中制作循环/循环ScrollViewer,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个想法是你挂钩到滚动查看器的viewchanged事件,当你移动栏时它会触发.在那里,计算你在偏移量和项目大小的位置,然后你可以使用它来衡量列表框容器的实际大小或你有什么.@H_674_25@
一旦您知道自己在偏移中的位置并知道列表框的实际高度和项目的高度,就会知道哪些项目当前可见,哪些项目不可见.确保绑定到对象的列表是一个可观察的集合,它实现了具有双向绑定的INotifyChanged接口.然后,您可以定义一组对象,以根据滚动中的位置来回旋转.@H_674_25@
另一个选择是尝试一个不同的起点,也许是一个带有选框和一个滚动条的控件?@H_674_25@
XAML
@H_674_25@
</UserControl.resources> <Grid BACkground="{Staticresource ApplicationPageBACkgroundThemeBrush}"> <Grid.RowDeFinitions> <RowDeFinition Height="*"/> <RowDeFinition Height="*"/> </Grid.RowDeFinitions> <Grid.columnDeFinitions> <columnDeFinition Width="*" /> <columnDeFinition Width="*"/> </Grid.columnDeFinitions> <ScrollViewer x:Name="ScrollViewer1"> <ListBox x:Name="SampleListBox" BACkground="White" Itemssource="{Binding Path=sampleItems}" ItemTemplate="{Staticresource sampleTemplatE}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Grid.Row="0" Grid.RowSpan="2"> </ListBox> </ScrollViewer> </Grid>
public sealed partial class MainPage : Page { List<SampleItem> sampleItems; const int numItems = 15; public MainPage() { sampleItems = new List<SampleItem>(); for (int i = 0; i < numItems; i++) { sampleItems.Add(new SampleItem(i)); } this.InitializeComponent(); SampleListBox.Itemssource = sampleItems; ScrollViewer1.ViewChanged += ScrollViewer1_ViewChanged; } void ScrollViewer1_ViewChanged(object sender,ScrollViewerViewChangedEventArgs E) { ScrollViewer viewer = sender as ScrollViewer; ListBox Box = viewer.Content as ListBox; ListBoxItem lbi = Box.ItemContainerGenerator.ContainerFromIndex(0) as ListBoxItem; double elementSize; if (lbi == null) return; elementSize = lbi.ActualHeight; } /// <sumMary> /// Invoked when this page is about to be displayed in a Frame. /// </sumMary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs E) { } } public class SampleItem { public String ItemCount { get; set; } public SampleItem(int itemCount) { ItemCount = itemCount.ToString(); } }
以上是大佬教程为你收集整理的如何在Windows 8 Metro(C/XAML)中制作循环/循环ScrollViewer全部内容,希望文章能够帮你解决如何在Windows 8 Metro(C/XAML)中制作循环/循环ScrollViewer所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。