private void SelectStackFrame(int forceFrame)
{
if (forceFrame == -1 && StackView.SelectedItems.Count == 0) return;
var frame = DebugEntity.Thread.Stack[(forceFrame != -1) ? forceFrame:StackView.Items.IndexOf(StackView.SelectedItems[0])];
if (bhav != null && bhav.ChunkID == frame.Routine.Chunk.ChunkID && frame == Editor.DebugFrame) return;
SetActivePrimitive(null);
this.bhav = frame.Routine.Chunk;
Scope = new EditorScope(frame.CodeOwner, frame.Routine.Chunk);
Scope.CallerObject = DebugEntity.Object;
Scope.StackObject = (frame.StackObject == null)?null:frame.StackObject.Object;
EditorControl.InitBHAV(bhav, Scope, DebugEntity, frame, SelectionChanged);
ObjectDataGrid.SelectedObject = new PropGridVMData(Scope, DebugEntity, frame, Editor);
ObjectDataGrid.Refresh();
PrimGroupChange(AllBtn, null);
}