Как динамически создать новый RichTextBox внутри новой вкладки TabControl? (wpf)

Сначала нажимаем кнопку и создаем новую вкладку. Потом нажимаем другую кнопку и помещаем во вкладку RichtextBox. (при этом счетчик увеличивается).

После создания еще одной вкладки и размещения в ней RichtextBox'а, возвращаемся на предыдущую вкладку, но новый RichtextBox не создается (и счетчик не увеличивается, а увеличивается только в последней вкладке)..

Как сделать так, чтобы при возврате на любую ранее созданную вкладку создавался новый RichTextBox и счетчик в каждой из вкладок был свой?

XAML:

<Window x:Class="WpfApp3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp3"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <TabControl x:Name="tabcontrol1" HorizontalAlignment="Left" Height="296" Margin="59,63,0,0" VerticalAlignment="Top" Width="641" SelectionChanged="tabcontrol1_SelectionChanged"/>
        <Button Content="New tab" HorizontalAlignment="Left" Margin="181,38,0,0" VerticalAlignment="Top" Width="138" Click="Button_Click"/>
        <Button Content="RichTextBox" HorizontalAlignment="Left" Margin="422,38,0,0" VerticalAlignment="Top" Width="147" Click="Button_Click_1"/>
 
    </Grid>
</Window>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace WpfApp3
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        TabItem tabitem;
        int count = 0;
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            count = 0;
 
            tabitem = new TabItem();
 
            tabitem.Header = "New tab";
 
            tabcontrol1.Items.Add(tabitem);
 
            tabcontrol1.SelectedItem = tabitem;
        }
 
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            RichTextBox text = new RichTextBox();
            FlowDocument myFlowDoc = new FlowDocument();
            Run myRun = new Run("Текст номер - ");
            Bold myBold = new Bold(new Run(count.ToString()));
 
            Paragraph myParagraph = new Paragraph();
            myParagraph.Inlines.Add(myRun);
            myParagraph.Inlines.Add(myBold);
 
            // Add the paragraph to the FlowDocument.
            myFlowDoc.Blocks.Add(myParagraph);
 
            text.Width = 500;
            text.Height = 200;
 
            text.Document = myFlowDoc;
 
            tabitem.Content = text;
 
            count++;
        }
 
        private void tabcontrol1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            
        }
    }
}

Ответы (0 шт):