Я пытаюсь улучшить контроль рисования графика, который идет с Graph #. Это хорошо, но все выходит из-под контроля, когда вы начинаете перетаскивать узлы вокруг. Это моя первая встреча с WPF, так что это, вероятно, вопрос новичка. :)
У меня есть элемент управления GraphCanvas, в котором есть узлы и ребра. Их можно перетаскивать, что меняет их координаты, возможно делая их отрицательными. Я хотел бы добавить полосы прокрутки к элементу управления, который позволил бы увидеть, насколько большой на самом деле холст.
С этой целью я собираюсь поместить GraphCanvas в ScrollViewer. Что было бы довольно легко и просто, если бы не одна проблема. Я не могу изменить размер самого GraphCanvas, когда узел перетаскивается за границы, или это может привести к неправильному перетаскиванию. Это также проблема с оригинальным элементом управления (проверьте его, он поставляется с примером приложения).
Было бы хорошо, если бы я мог привязать размер / расположение полосы прокрутки к свойствам GraphCanvas, чтобы ScrollViewer ничего не прокручивал физически, а просто устанавливал свойства GraphCanvas. Это, в свою очередь, будет выполнять все фактические вычисления и прокрутку.
Как это можно сделать?