0

ユーザーが Rhinocommon を使用して記述された Rhino プラグインでレイヤーをロックすることを回避しようとしています。プラグインが初期化されると、イベント ハンドラーが LayerTableEvent に結合されます。

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();
    }
}

イベントは、Rhino レイヤー パネルのロックがクリックされたときにトリガーされ、レイヤーがロックされた場合 (ステートメント内のブレークポイントに到達した場合) にif条件が評価されます。ただし、イベントの後、レイヤーはロックされたままになります。レイヤーをロックしない可能性はありますか。それとも、ここで何か他のものを見逃していますか?trueife.Document.Layers[e.LayerIndex].IsLocked = false;

4

1 に答える 1