2

Horizo​​ntalOffsetプロパティの設定について質問があります(ScrollToHorizo​​ntalOffsetメソッドを使用)。

アプリケーションを起動すると、scrollviewerのコンテンツが動的に作成されます(つまり、設計時にその範囲がわかりません)。次に、scrollviewerコントロールの水平オフセットを設定したいのですが、その時点では、スクロール可能な幅は0として返されます。scrollviewerでUpdateLayoutを呼び出しても役に立ちません。

現在、レンダリングイベントでscrollviewerコントロールのScrollableWidthプロパティを確認し、ScrollableWidth> 0になるとすぐに、ScrollToHorizo​​ntalOffsetを呼び出すことで、この問題を回避しています。

これは正常に機能しますが、「レンダリング」で位置が調整される前に、間違った初期位置の短い表示につながります。

この手間をかけずに水平オフセットを設定できるように、scrollviewerを強制的に更新するためにできることはありますか?

前もって感謝します!

4

2 に答える 2

3

スクロールビューアのコンテンツコントロールの不透明度を0に設定します。ScrollToHorizo​​ntalOffsetを呼び出したら、コンテンツコントロールの不透明度を1に設定します。これにより、正しく配置されるまでコンテンツは実際に表示されません。

于 2010-01-06T12:31:11.587 に答える
2

子コンテンツが読み込まれるまで、スクロール可能な高さ/幅はゼロになります。それまでは、どれだけ大きくする必要があるかわからないため、値は0になります。

于 2011-01-10T07:35:32.670 に答える