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 () ;
}
}
}
Related examples in the same category
1. TextBox Style 2. Bind TextBlock to TextBox 3. TextBox focus listener 4. TextBox with custom ErrorTemplate and ToolTip 5. TextBox uses the ExceptionValidationRule and UpdateSourceExceptionFilter handler 6. TextBox with UpdateSourceExceptionFilter handler 7. TextBox with default ErrorTemplate 8. TextBox MouseLeftButtonDown action and PreviewMouseLeftButtonDown action 9. Assign your own class to DataContent and bind to TextBox 10. Listen to TextBox text changed event 11. Handler for the PreviewKeyDown event on the TextBox 12. TextBox: set text, select all, clear, prepend, insert, append, cut, paste, undo 13. Set TextBox to editable 14. TextBox text changed event 15. TextBox PreviewKeyDown 16. TextBox KeyDown 17. TextBox PreviewKeyUp 18. TextBox KeyUp 19. TextBox TextInput 20. TextBox PreviewTextInput 21. Scroll TextBox 22. TextBox TextChanged event 23. Use Dictionary to record which textbox has been changed and not saved 24. Set TextBox ContextMenu to null 25. TextBox Selection start, end and selected text 26. TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events 27. Check Spelling Error