问题描述
我希望从 C# 动态更改 Silverlight ListBox 的滚动位置,我需要知道如何从 C# 访问 ListBox 控件的 ScrollViewer 元素?
I wish to dynamically change the scroll position of a Silverlight ListBox from C#, and I need to know how to access the ScrollViewer element of a ListBox control from C#?
谢谢各位,杰夫
推荐答案
在继承自 ListBox 类的类中,您可以使用 Protected GetTemplateChild():
From within a class that inherits from the ListBox class, you can use the Protected GetTemplateChild():
var myScrollviewer = myListBox.GetTemplateChild("ScrollViewer") as ScrollViewer;
如果您想从 ListBox 外部访问它,那么通过 Property 公开 ScrollViewer 应该可以工作,再次通过继承.
If you want to access this from outside the ListBox, then exposing the ScrollViewer via a Property should work, again through inheritance.
CAVEAT:如果您设置了自己的自定义模板,则此 Scrollviewer 可能不存在.您可以使用模板 Scrollviewer 名称而不是上述方法中的ScrollViewer".
CAVEAT: If you have set your own custom template, then this Scrollviewer may not exist. You can use the templates Scrollviewer name instead of the "ScrollViewer" in the method above.
这篇关于如何在 Silverlight/C# 中访问 ListBox 控件的 ScrollViewer 元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!