title: TextBox.ScrollToEnd doesn't work when the TextBox is in a non-active tab
body: <p>Our application starts several background processes and put their output into TextBoxes - each in a separate TabItem in a TabControl. I want the TextBoxes to automatically scroll to show the last output line, so in the data handling function that adds the output/error line to the text box, I also call TextBox.ScrollToEnd():</p>
  
  <pre><code>void OnServerProcessOutputDataReceived(object sender, DataReceivedEventArgs e)
  {
      if (e.Data != null)
      {
          Dispatcher.Invoke(new Action(() =&gt;
              {
                  TextBox tb = getServerProcessOutputTextBox(sender);
                  if (tb != null)
                  {
                      tb.AppendText(e.Data + Environment.NewLine);
                      tb.ScrollToEnd();
                  }
              }));
      }
  }
  </code></pre>
  
  <p>This works great for the TextBox in the active tab, but when I switch to another tab, I see that it wasn't scrolled down to the end.</p>
  
  <p>Is this a known problem? Is there a way to fix it?</p>