Streams markdown into a MarkdownViewer: text appended to the session, from any thread, is rendered at most once per update interval, re-rendering only the blocks the new text can have changed. Started with BeginStreaming(Nullable<TimeSpan>, Boolean).
public sealed class MarkdownStreamingSession : IDisposable
After each update the viewer's Markdown holds the text received so far.
Complete() (or Dispose()) applies the final update and ends the session.
Between updates the viewer closes the inline syntax the text leaves open, unless
BeginStreaming(Nullable<TimeSpan>, Boolean) was called with healIncompleteSyntax: false.
Setting Markdown, Source,
Pipeline or any other property that makes the viewer render again ends
the session silently: no final update is applied, IsCompleted becomes true and
later appends throw.
kind:method, kind:property, kind:ctor. Press Esc to clear.IsCompletedGets whether the session accepts no more text: Complete() or Dispose() was called, an update failed, or the viewer rendered something else.Append(ReadOnlySpan<Char>)Appends text to the document. Can be called from any thread; the text is rendered by the next update. Appending an empty span does nothing.Append(String)Appends text to the document. Can be called from any thread; the text is rendered by the next update. Appending an empty string does nothing.Complete()Ends the session: applies a final update with every append received, then releases the session's rendering state. Can be called from any thread; called on the UI thread, the final update is applied before this method returns, otherwise it is posted to the UI thread. Calling it again does nothing.CompleteAsync()Ends the session as Complete() does, and returns a task that completes once the final update is applied (at once when the session already ended). Never throws: when an update throws, on the UI thread or not, the returned task is faulted with that exception instead.Dispose()Ends the session, as Complete() does.UpdatedRaised on the UI thread after each update is applied, the final one included. An update applies every append received since the previous one.