0
我在選擇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));
}
}
問題似乎compartmentshape的財產不具有presentationview,因爲我沒有能夠得到它。
如果有人能幫助我解決這個問題,我會很高興也很感激。
謝謝 問候曼努埃爾