2

にコンテンツを描画するユーザー コントロールがありますOnRender。そのHeightコントロールの は徐々に大きくなります。

このコントロールを に追加しましたScrollViewer。コントロールは、現在表示されている領域 ( viewport) のみを再描画します (スムーズなスクロールのために +/- a ビュー行)。これまでのところすべて正常に動作しています...

しかし、コントロールは通常数十万ピクセルまで大きくなるため、Heightコントロールの をできるだけ小さく保ち、 のHeightにバインドする別の値を提供したいと考えています( についても同様ですScrollableHeight) 。ただし、 のセッターはありません。コントロールの高さに自動的にバインドします。高さをオーバーライドすることもできません。ScrollViewerVerticalOffsetScrollableHeight

コントロールの実数を小さく保つためにScrollViewer(または)をカスタマイズするにはどうすればよいですか?VerticalScrollbarHeight

4

1 に答える 1

1

私は過去にこのようなことをしました。必要なことは、独自のレイアウトPanelを作成し、そこにIScrollInfoを実装することです。インターフェイスは大きく見えますが、そのほとんどはメイン セット メソッドの 1 つを呼び出しているだけです。レイアウト作成者は、などのいくつかのIScrollInfoプロパティを設定する必要があります。これらは、が「仮想」キャンバス サイズのスクロール位置とスクロール可能領域を計算する方法をカスタマイズする方法です。を実装するために、このチュートリアルをガイダンスとして使用しました。ExtentHeightOffsetScrollViewerIScrollInfo

于 2013-04-17T12:43:22.753 に答える