Silverlight ScrollViewer初始horizo​​ntaloffset

时间:2010-01-06 11:30:57

标签: silverlight scrollviewer horizontaloffset

我有一个关于Horizo​​ntalOffset属性设置的问题(使用ScrollToHorizo​​ntalOffset方法)。

启动我的应用程序后,动态创建滚动查看器的内容(即我在设计时不知道它的范围)。然后我想设置scrollviewer控件的水平偏移量,但是那时它的可滚动宽度返回为0.在scrollviewer上调用UpdateLayout也无济于事。

我目前正在解决此问题,方法是在渲染事件中检查scrollviewer控件的ScrollableWidth属性,并在ScrollableWidth>后立即调用ScrollToHorizo​​ntalOffset。 0.

这样可以正常工作,但在“渲染”位置调整之前,会导致错误初始位置的短暂显示。

我可以做些什么来强制滚动查看器上的更新,以便我可以设置其水平偏移而不会有这种麻烦吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

将滚动查看器中Content控件的不透明度设置为0.当您调用ScrollToHorizo​​ntalOffset时,将内容控件的不透明度设置为1.这样,在正确定位之前,实际上看不到任何内容。

答案 1 :(得分:2)

Scrollable Height / Width将为零,直到加载子内容为止。在此之前,它不知道它需要多大 - 因此值为0.