dsl의 칸막이에있는 속성을 선택하는 데 문제가 있습니다. 내가하고 싶은 일은 다음과 같습니다.칸막이 모양의 속성 선택
하나의 구획에 여러 속성이있는 구획이있는 DSL이 있습니다. 각 속성에는 C# 코드 저장에 사용되는 텍스트 필드가 있습니다. 이 코드를 컴파일하고 오류 목록에 오류 작업을 추가합니다. 오류 작업의 탐색 이벤트에 대한 이벤트 처리기를 추가했습니다. 이 처리기 내부에서 오류를 담당하는 compartmentshape의 속성을 선택하고 싶습니다. 나는 많은 것을 시도했지만 성공하지 못했습니다.
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));
}
}
문제는 내가 그것을 얻을 수 아니에요 때문에 compartmentshape의 속성을하는 presentationview이없는 것 같다 : 이것은 내 현재의 선택 논리이다.
누군가이 문제로 나를 도울 수 있으면 매우 기뻤습니다.
는 감사합니다 마누엘