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 | | |