Подбор недвижимости в форме купе

У меня проблема с выбором свойства в форме купе DSL. Что я хочу сделать, это:

У меня есть DSL с одной формой отсека, которая имеет много свойств в одном отсеке. Каждое из этих свойств имеет текстовое поле, которое используется для сохранения кода C#. Я компилирую этот код и добавляю задачи с ошибками в список ошибок. Я добавил обработчик событий для события навигации в задаче ошибки. Внутри этого обработчика я бы хотел выбрать свойство в форме отсека, которое отвечает за ошибку. Я много чего перепробовал, но не получилось. Это моя текущая логика выбора:

public void Select(Rule rule)
{
  Library.Field ruleField = rule.Field as Library.Field;
  var ruleFieldPresentation = PresentationViewsSubject.GetPresentation(ruleField as ModelElement).FirstOrDefault() as ShapeElement;

  VSDiagramView activeDiagramView = Diagram.ActiveDiagramView as VSDiagramView;
  if (activeDiagramView != null)
  {
    var docView = activeDiagramView.DocView;
    activeDiagramView.Selection.Clear();
    docView.CurrentDiagram.ActiveDiagramView.Selection.Set(new DiagramItem(ruleFieldPresentation));
  }
}

Кажется, проблема в том, что у свойства размера отсека нет представления представления, потому что я не могу его получить.

Я был бы рад и очень признателен, если кто-то может помочь мне с этой проблемой.

Спасибо С уважением Мануэль

1 ответ

Решение

Я хотел открыть ошибку из списка ошибок. Существует лучшее решение, чем использование события навигации при ошибке. Лучшее решение - добавить правило проверки в класс домена и добавить ошибку с контекстом в список ошибок. Чем навигация к собственности работает из коробки.

context.LogError(errorDescription, "GAIN001RuleCompilationError", Field); 
Другие вопросы по тегам