gpt4 book ai didi

c# - WPF 访问 ListView 代码隐藏的滚动查看器

转载 作者:太空狗 更新时间:2023-10-30 01:00:52 24 4
gpt4 key购买 nike

我需要从代码隐藏访问 ListView 的滚动查看器。这是我的 ListView 的定义

<ListView Grid.Row="1" ItemsSource="{Binding Path=SpecList, UpdateSourceTrigger=PropertyChanged}"  
Name="mylistview"
ItemTemplate="{StaticResource SpecElementTemplate}"
Background="{StaticResource EnvLayout}"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ItemContainerStyle="{StaticResource MyStyle}"
BorderBrush="Blue"
BorderThickness="20"
Margin="-2">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>

如何获取滚动查看器?

谢谢

安德里亚

最佳答案

有几种方法可以获取ScrollViewer。最简单的解决方案是获取 ListView 的第一个子项的第一个子项。这意味着获取此边框内的 BorderScrollViewer,如中所述 this answer :

// Get the border of the listview (first child of a listview)
Decorator border = VisualTreeHelper.GetChild(mylistview, 0) as Decorator;

// Get scrollviewer
ScrollViewer scrollViewer = border.Child as ScrollViewer;

第二种方法是扫描所有子递归以找到 ScrollViewer。 Matt Hamilton 在 this question 中的回答中对此进行了描述。 .您可以简单地使用此函数来获取 ScrollViewer

ScrollViewer scrollViewer = GetChildOfType<ScrollViewer>(mylistview);

第二个解决方案更为通用,如果您的 ListView 模板已被编辑,它也可以工作。

关于c# - WPF 访问 ListView 代码隐藏的滚动查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43053345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com