Property RunnableSessionStack
RunnableSessionStack
Gets the stack of all active runnable session tokens. Sessions execute serially - the top of stack is the currently modal session.
ConcurrentStack<RunnableSessionToken>? RunnableSessionStack { get; }
Property Value
Remarks
Session tokens are pushed onto the stack when Run(IRunnable, Func<Exception, bool>?) is called and popped when RequestStop(IRunnable?) completes. The stack grows during nested modal calls and shrinks as they complete.
Only the top session (TopRunnable) has exclusive keyboard/mouse input ( IsModal = true). All other sessions on the stack continue to be laid out, drawn, and receive iteration events ( IsRunning = true), but they don't receive user input.
RunnableSessionStack (top to bottom):
- MessageBox (TopRunnable, IsModal=true, IsRunning=true, has input)
- FileDialog (IsModal=false, IsRunning=true, continues to update/draw)
- MainWindow (IsModal=false, IsRunning=true, continues to update/draw)