Подбор недвижимости в форме купе
У меня проблема с выбором свойства в форме купе 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);