我正在尝试改进Graph#附带的图形绘制控件。这很好,但是当你开始拖动节点时,事情就会失控。这是我第一次遇到WPF,所以这可能是一个新手问题。 :)
我有GraphCanvas控件,它上面有节点和边。它们可以被拖动,改变它们的坐标,可能使它们变为负数。我想向控件添加滚动条,这样可以看到画布有多大。
为此,我正在考虑将GraphCanvas放在ScrollViewer中。如果不是针对一个问题,这将是非常简单和直接的。当一个节点被拖到边界之外时,我可能无法调整GraphCanvas本身的大小,否则这会拖得很糟糕。这也是原始控件的问题(检查出来,它带有一个示例应用程序)。
如果我可以将滚动条大小/位置绑定到GraphCanvas的属性会很好,这样ScrollViewer就不会在物理上滚动任何东西,只是设置GraphCanvas的属性。这反过来会执行所有实际的计算和滚动。
如何做到这一点?
答案 0 :(得分:1)
System.Windows.Controls.Primitives.IScrollInfo
; ScrollViewer
; CanContentScroll
上的ScrollViewer
属性设置为True
。瞧!
答案 1 :(得分:0)
直接从MSDN查看此链接。它讨论了将几个控件组合到一个复合控件中:
WPF: Customizing Controls for Windows Presentation Foundation