[英]How to reuse WPF ScrollViewer to create my own scrollable control?
我正在嘗試改善Graph#隨附的圖形繪制控件。 很好,但是當您開始拖動節點時,事情變得一發不可收拾。 這是我第一次接觸WPF,所以這可能是一個新手問題。 :)
我有GraphCanvas控件,上面有節點和邊。 可以在周圍拖動它們以更改其坐標,可能會使它們變為負值。 我想在控件中添加滾動條,以查看畫布的實際尺寸。
為此,我正在考慮將GraphCanvas放入ScrollViewer中。 如果不是一個問題,那將是非常容易和直接的。 當將節點拖動到邊界外時,我可能無法調整GraphCanvas本身的大小,否則會嚴重拖拽。 這也是原始控件的問題(檢查出來,它帶有示例應用程序)。
如果可以將滾動條的大小/位置綁定到GraphCanvas的屬性,那將是很好的,這樣ScrollViewer不會物理滾動任何內容,而只是設置GraphCanvas的屬性。 依次執行所有實際的計算和滾動。
如何才能做到這一點?
好的,我找到了! 三個簡單步驟:
System.Windows.Controls.Primitives.IScrollInfo
; ScrollViewer
; ScrollViewer
上的CanContentScroll
屬性設置為True
。 瞧!
直接從MSDN檢查此鏈接。 它討論了將幾個控件組合成一個復合控件:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.