files/xaml/cowriter.xaml

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        Title="Cowriter" SizeToContent='WidthAndHeight'
        FontSize="16" Topmost='True'>
 
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"/>
      <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
 
    <Menu Grid.Row="0">
      <MenuItem Header="_File">
        <MenuItem Header="New"/>
        <MenuItem Header="Open"/>
        <MenuItem Header="Save"/>
        <Separator/>
        <MenuItem Header="Exit"/>
      </MenuItem>
      <MenuItem Header="_Edit">
        <MenuItem Header="Undo"/>
        <MenuItem Header="Redo"/>
        <Separator/>
        <MenuItem Header="Cut"/>
        <MenuItem Header="Copy"/>
        <MenuItem Header="Paste"/>
      </MenuItem>
      <MenuItem Header="_View">
        <MenuItem Header="Zoom In"/>
        <MenuItem Header="Zoom Out"/>
      </MenuItem>
    </Menu>
 
    <Grid Margin="12" Grid.Row="1">
      <!-- Define three columns -->
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition MaxWidth="275"/>
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
      </Grid.RowDefinitions>
 
      <Grid Grid.Row="0" Margin="8,0,8,0" Visibility="Hidden">
        <Grid.RowDefinitions>
          <RowDefinition Height="*"/>
          <RowDefinition Height="40"/>
        </Grid.RowDefinitions>
        <!-- Left: File tree (TreeView with ScrollViewer) -->
        <ScrollViewer Grid.Column="0" Grid.Row="0" VerticalScrollBarVisibility="Auto">
          <TreeView Name="FileTree">
            <TreeViewItem Header="Project">
              <TreeViewItem Header="File1.txt"/>
              <TreeViewItem Header="File2.txt"/>
            </TreeViewItem>
            <TreeViewItem Header="Documents">
              <TreeViewItem Header="Doc1.md"/>
            </TreeViewItem>
          </TreeView>
        </ScrollViewer>
        <Grid Grid.Row="1" Margin="0,3,0,3">
          <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
          </Grid.ColumnDefinitions>
          <TextBlock Name="ZoomText" Tag="text" Grid.Column="0" TextAlignment="Center">Zoom</TextBlock>
          <ToolBar Grid.Column="1" Margin="0,0,0,8">
            <Button Width="30" Name="ZoomInButton" ToolTip="Zoom In">+</Button>
            <Button Width="30" Name="ZoomOutButton" ToolTip="Zoom Out">−</Button>
          </ToolBar>
        </Grid>
      </Grid>
 
      <Grid Grid.Column="1" Grid.Row="0" Margin="8,0,8,0">
        <Grid.RowDefinitions>
          <RowDefinition Height="40"/>
          <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="0"/>
          <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
 
        <!-- Formatting Toolbar -->
        <ToolBar Grid.Column="1" Grid.Row="0" Margin="0,0,0,8">
          <Button FontFamily="Times New Roman" Width="30" Name="BoldButton" ToolTip="Bold"><TextBlock FontWeight="Bold">B</TextBlock></Button>
          <Button FontFamily="Times New Roman" Width="30" Name="ItalicButton" ToolTip="Italic"><TextBlock FontStyle="Italic">I</TextBlock></Button>
          <Button Width="30" Name="UnderlineButton" ToolTip="Underline"><TextBlock TextDecorations="Underline">U</TextBlock></Button>
          <Separator/>
          <Button Width="30" Name="BulletButton" ToolTip="Bulleted List" Visibility="Hidden">• —</Button>
          <Button Width="30" Name="NumberButton" ToolTip="Numbered List" Visibility="Hidden">1.</Button>
        </ToolBar>
        <!-- Center: Large scrollable TextBox with line numbers -->
          <!-- Line numbers -->
          <TextBlock Name="LineNumbers" Grid.Column="0" Grid.Row="1" Margin="0,0,2,0" VerticalAlignment="Top" TextAlignment="Right"/>
           
          <!-- Main TextBox -->
          <ScrollViewer Grid.Column="1" Grid.Row="1" VerticalScrollBarVisibility="Auto" MinHeight="500">
            <RichTextBox Name="MainText" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"/>
          </ScrollViewer>
      </Grid>
 
      <!-- Right: Chat area -->
      <Grid Grid.Column="2" Grid.Row="0">
        <Grid.RowDefinitions>
          <RowDefinition Height="*"/>
          <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <!-- (Optional) Chat history area could go here in Row 0 -->
        <!-- Chat history area (scrollable) -->
        <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" Name="ChatScroll">
          <StackPanel Name="ChatHistory" Margin="0,0,0,8">
            <Border Background="#D0F0FF" CornerRadius="10" Padding="8" Margin="4" HorizontalAlignment="Right" MaxWidth="200">
              <TextBlock Text="You: Hello!" TextWrapping="Wrap"/>
            </Border>
            <Border Background="#E0E0E0" CornerRadius="10" Padding="8" Margin="4" HorizontalAlignment="Left" MaxWidth="200">
              <TextBlock Text="Me: Hi there!" TextWrapping="Wrap"/>
            </Border>
          </StackPanel>
        </ScrollViewer>
        <!-- Chat input and send button at the bottom -->
        <StackPanel Grid.Row="1" Orientation="Horizontal">
          <TextBox Name="ChatInput" Width="180" Height="30" Margin="5,0,5,0"/>
          <Button Name="SendButton" Content="Send" Width="80" Height="30"/>
        </StackPanel>
      </Grid>
    </Grid>
  </Grid>
</Window>