2013-04-17 71 views
2

我有一個用戶控件,它描繪了OnRender中的內容。該控件的Height增加了。WPF ScrollViewer集合ScrollableHeight

我將此控件添加到ScrollViewer。該控件只重繪當前可見區域(viewport)(+/-查看線條以獲得更平滑的滾動效果)。 一切正常,那麼遠,

但由於控制了usualy增長到幾十萬像素的我要保持我的控制Height儘可能小,並提供不同的Height值綁定到ScrollViewerScrollableHeight(與VerticalOffset相同)。但是ScrollableHeight沒有安裝程序。它會自動綁定到我的控件的高度。我也無法覆蓋高度。

如何自定義我的ScrollViewer(或VerticalScrollbar)以保持我的控件的實際Height較小?

回答

1

我在過去做過這樣的事情。你需要做的是編寫自己的佈局Panel並在其中實現IScrollInfo。界面看起來很大,但大部分只是調用其中一種主要的設置方法。該佈局需要設置一些IScrollInfo屬性,如ExtentHeightOffset等,這些是您自定義ScrollViewer如何計算「虛擬」畫布大小的滾動位置和可滾動區域的方式。爲了實施IScrollInfo,我使用了this教程作爲指導。