Scrollable TextBox Column : TextBox « Windows Presentation Foundation « C# / C Sharp






Scrollable TextBox Column

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 StyleTextBox Style
2.Bind TextBlock to TextBoxBind TextBlock to TextBox
3.TextBox focus listenerTextBox focus listener
4.TextBox with custom ErrorTemplate and ToolTipTextBox with custom ErrorTemplate and ToolTip
5.TextBox uses the ExceptionValidationRule and UpdateSourceExceptionFilter handlerTextBox uses the ExceptionValidationRule and UpdateSourceExceptionFilter handler
6.TextBox with UpdateSourceExceptionFilter handlerTextBox with UpdateSourceExceptionFilter handler
7.TextBox with default ErrorTemplateTextBox with default ErrorTemplate
8.TextBox MouseLeftButtonDown action and PreviewMouseLeftButtonDown actionTextBox MouseLeftButtonDown action and PreviewMouseLeftButtonDown action
9.Assign your own class to DataContent and bind to TextBoxAssign your own class to DataContent and bind to TextBox
10.Listen to TextBox text changed eventListen to TextBox text changed event
11.Handler for the PreviewKeyDown event on the TextBoxHandler for the PreviewKeyDown event on the TextBox
12.TextBox: set text, select all, clear, prepend, insert, append, cut, paste, undoTextBox: set text, select all, clear, prepend, insert, append, cut, paste, undo
13.Set TextBox to editableSet TextBox to editable
14.TextBox text changed eventTextBox text changed event
15.TextBox PreviewKeyDownTextBox PreviewKeyDown
16.TextBox KeyDownTextBox KeyDown
17.TextBox PreviewKeyUpTextBox PreviewKeyUp
18.TextBox KeyUpTextBox KeyUp
19.TextBox TextInputTextBox TextInput
20.TextBox PreviewTextInputTextBox PreviewTextInput
21.Scroll TextBoxScroll TextBox
22.TextBox TextChanged eventTextBox TextChanged event
23.Use Dictionary to record which textbox has been changed and not savedUse Dictionary to record which textbox has been changed and not saved
24.Set TextBox ContextMenu to nullSet TextBox ContextMenu to null
25.TextBox Selection start, end and selected textTextBox Selection start, end and selected text
26.TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged eventsTextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events
27.Check Spelling ErrorCheck Spelling Error