InMemoryCompositionModelBehavior
Реализация ICompositionModelBehavior в памяти: сохраняет узлы и ссылки в наблюдаемых коллекциях и генерирует уведомления BehaviorChanged без какой-либо визуальной или встроенной собственной поддержки отмены (IUndoManager можно подключить извне). Подходит для автономных хостов и для интерфейсов пользовательского интерфейса, которые отображают модель напрямую (e.g. редактор диаграмм Avalonia).
Реализует: ICompositionModelBehavior<InMemoryCompositionModelNode, InMemoryCompositionModelLink>, ICloneable
Свойства
public bool IsUndoManagerSuspended { get; set; }
value = inMemoryCompositionModelBehavior.IsUndoManagerSuspended
inMemoryCompositionModelBehavior.IsUndoManagerSuspended = value
Ундо менеджера приостанавливается, если это свойство установлено на истинность.
public IEnumerable<InMemoryCompositionModelLink> Links { get; set; }
value = inMemoryCompositionModelBehavior.Links
inMemoryCompositionModelBehavior.Links = value
Ссылки.
public bool Modifiable { get; set; }
value = inMemoryCompositionModelBehavior.Modifiable
inMemoryCompositionModelBehavior.Modifiable = value
Is it possible to edit a composite element diagram.
public IEnumerable<InMemoryCompositionModelNode> Nodes { get; set; }
value = inMemoryCompositionModelBehavior.Nodes
inMemoryCompositionModelBehavior.Nodes = value
Узлы.
public ICompositionModel Parent { get; set; }
value = inMemoryCompositionModelBehavior.Parent
inMemoryCompositionModelBehavior.Parent = value
Родитель.
public IUndoManager UndoManager { get; set; }
value = inMemoryCompositionModelBehavior.UndoManager
inMemoryCompositionModelBehavior.UndoManager = value
IUndoManager
Методы
public InMemoryCompositionModelLink AddLink(InMemoryCompositionModelNode from, string fromPort, InMemoryCompositionModelNode to, string toPort)
result = inMemoryCompositionModelBehavior.AddLink(from, fromPort, to, toPort)
public void AddLink(InMemoryCompositionModelLink link)
inMemoryCompositionModelBehavior.AddLink(link)
public void AddNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.AddNode(node)
public bool CommitTransaction(string name)
result = inMemoryCompositionModelBehavior.CommitTransaction(name)
Зафиксировать транзакцию.
- name
- Название операции.
Возвращает: Результат операции.
public InMemoryCompositionModelNode FindNodeByKey(string key)
result = inMemoryCompositionModelBehavior.FindNodeByKey(key)
Найти узел по ключу.
- key
- Ключ.
public IEnumerable<InMemoryCompositionModelLink> GetLinksForNode(InMemoryCompositionModelNode node)
result = inMemoryCompositionModelBehavior.GetLinksForNode(node)
public void RaiseCommited(string name, InMemoryCompositionModelNode node, IUndoableEdit op)
inMemoryCompositionModelBehavior.RaiseCommited(name, node, op)
public void RaiseLinksRemoved(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseLinksRemoved(node)
public void RaiseSocketAdded(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseSocketAdded(node)
public void RemoveLink(InMemoryCompositionModelLink link)
inMemoryCompositionModelBehavior.RemoveLink(link)
public void RemoveLink(InMemoryCompositionModelNode from, string fromPort, InMemoryCompositionModelNode to, string toPort)
inMemoryCompositionModelBehavior.RemoveLink(from, fromPort, to, toPort)
public void RemoveNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RemoveNode(node)
public bool RollbackTransaction()
result = inMemoryCompositionModelBehavior.RollbackTransaction()
Откат транзакции.
Возвращает: Результат операции.
public bool StartTransaction(string name)
result = inMemoryCompositionModelBehavior.StartTransaction(name)
Начать транзакцию.
- name
- Название операции.
Возвращает: Результат операции.
События
public event Action<ValueTuple<ModelChange, object, string, object, object, object, object>> BehaviorChanged
inMemoryCompositionModelBehavior.BehaviorChanged += handler
Изменено мероприятие.