MSAGL: Как вносить изменения в код в реальном времени? [закрыто]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 MSAGL: Как вносить изменения в код в реальном времени? [закрыто]

Сообщение Anonymous »

Я использую MSAGL с WPF и GViewer. Мне нужно изменить график, не требуя переделки всего макета и не уменьшая масштаб до исходного положения камеры. Я работаю над интерактивным инструментом, поэтому весь макет нельзя резко изменить.
Создание образца графика.

Код: Выделить всё

public void CreateTestGraph(List fileOperationLogs)
{
var graph = new Graph("complexGraph");

graph.AddNode("A");
graph.AddNode("B");
graph.AddNode("C");

graph.AddEdge("A", "B").LabelText = "Edge AB";
graph.AddEdge("A", "C").LabelText = "Edge AC";
graph.AddEdge("B", "C").LabelText = "Edge BC";

graph.LayoutAlgorithmSettings = new MdsLayoutSettings();

gViewer.Graph = graph;
}
Вот как это выглядит
Изображение

Когда я пытаюсь добавить узел с помощью кнопки:

Код: Выделить всё

public void ButtonPressed()
{
gViewer.Graph.AddNode("D");
gViewer.Graph.AddEdge("D", "A");

gViewer.Graph = gViewer.Graph;
}
Это происходит
Изображение

График меняется, и представление пользователя тоже меняется. На самом деле это незначительное изменение. Когда я пробую это с графом из 100 узлов, он полностью меняется после добавления пары узлов.
Лучший способ обновить граф, который я знаю, — это фактически назначить тот же граф графу просмотрщик, как его gViewer.Graph = gViewer.Graph;
Я борюсь с этим аспектом MSAGL. Трудно что-то делать после того, как график был создан. Вы можете сделать это с помощью мыши на панели редактора, но это сложно с помощью кода.
Я попробовал обычные методы добавления и удаления ребер и узлов. Я попробовал Invalidate в GViewer, но он не работает. Такие методы, как PerformLayout, ничего не делают.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -from-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • MSAGL: Как вносить изменения в код в реальном времени? [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • MSAGL: Как вносить изменения в код в реальном времени? [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • MSAGL: Как вносить изменения в код в реальном времени?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • MSAGL: Как вносить изменения в код в режиме реального времени?
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Может ли MutationObserver вносить изменения прямо перед мутацией?
    Anonymous » » в форуме Jquery
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»