Scrollable TextBox Column
<Window x:Class="Content.ScrollableTextBoxColumn" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ScrollableTextBoxColumn" Height="181" Width="283" MinWidth="250"> <DockPanel> <Border DockPanel.Dock="Top" BorderBrush="SteelBlue" BorderThickness="2"> <StackPanel Margin="5" Orientation="Horizontal"> <Button Padding="3" Click="LineUp">Line Up</Button> <Button Padding="3" Click="LineDown">Line Down</Button> <Button Padding="3" Click="PageUp">Page Up</Button> <Button Padding="3" Click="PageDown">Page Down</Button> </StackPanel> </Border> <ScrollViewer Name="scroller"> <Grid Margin="0,10,0,0" Focusable="False"> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="*" MinWidth="50" MaxWidth="800"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> </Grid.ColumnDefinitions> <Label Grid.Row="0" Grid.Column="0" Margin="3" VerticalAlignment="Center">A</Label> <TextBox Grid.Row="0" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="0" Grid.Column="2" Margin="3" Padding="2">A</Button> <Label Grid.Row="1" Grid.Column="0" Margin="3" VerticalAlignment="Center">A</Label> <TextBox Grid.Row="1" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="1" Grid.Column="2" Margin="3" Padding="2">B</Button> <Label Grid.Row="2" Grid.Column="0" Margin="3" VerticalAlignment="Center">B</Label> <TextBox Grid.Row="2" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="2" Grid.Column="2" Margin="3" Padding="2">B</Button> <Label Grid.Row="3" Grid.Column="0" Margin="3" VerticalAlignment="Center">C</Label> <TextBox Grid.Row="3" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="3" Grid.Column="2" Margin="3" Padding="2">C</Button> <Label Grid.Row="4" Grid.Column="0" Margin="3" VerticalAlignment="Center">D</Label> <TextBox Grid.Row="4" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="4" Grid.Column="2" Margin="3" Padding="2">D</Button> <Label Grid.Row="5" Grid.Column="0" Margin="3" VerticalAlignment="Center">E</Label> <TextBox Grid.Row="5" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="5" Grid.Column="2" Margin="3" Padding="2">E</Button> <Label Grid.Row="6" Grid.Column="0" Margin="3" VerticalAlignment="Center">F:</Label> <TextBox Grid.Row="6" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="6" Grid.Column="2" Margin="3" Padding="2">B</Button> <Label Grid.Row="7" Grid.Column="0" Margin="3" VerticalAlignment="Center">S</Label> <TextBox Grid.Row="7" Grid.Column="1" Margin="3" Height="Auto" VerticalAlignment="Center"></TextBox> <Button Grid.Row="7" Grid.Column="2" Margin="3" Padding="2">B</Button> </Grid> </ScrollViewer> </DockPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; 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.Shapes; namespace Content { public partial class ScrollableTextBoxColumn : System.Windows.Window { public ScrollableTextBoxColumn() { InitializeComponent(); } private void LineUp(object sender, RoutedEventArgs e) { scroller.LineUp(); } private void LineDown(object sender, RoutedEventArgs e) { scroller.LineDown(); } private void PageUp(object sender, RoutedEventArgs e) { scroller.PageUp(); } private void PageDown(object sender, RoutedEventArgs e) { scroller.PageDown(); } } }