我試圖避免用戶鎖定使用Rhinocommon編寫的Rhino插件中的圖層。當插件被初始化時,事件處理程序被耦合到使用Rhinocommon鎖層
RhinoDoc.LayerTableEvent += this.OnLayerEvent;
事件處理程序被定義爲
public void OnLayerEvent(object sender, Rhino.DocObjects.Tables.LayerTableEventArgs e)
{
if (e.NewState.IsLocked)
{
e.Document.Layers[e.LayerIndex].IsLocked = false;
e.Document.Layers[e.LayerIndex].CommitChanges();
}
}
被點擊在犀牛層面板的鎖定時,則觸發事件和LayerTableEvent如果圖層被鎖定(達到if
語句內的斷點),則if
條件的計算結果爲true
。但是,事件發生後,圖層保持鎖定狀態。 e.Document.Layers[e.LayerIndex].IsLocked = false;
是否可能不鎖定圖層。或者我在這裏錯過了其他的東西?