TextBox, WPF. With TextBoxes, we present a user-editable box for input. And in some cases, a TextBox is an effective way to display program output.
Getting started. It is easy to add a TextBox to a WPF program—please create a C# WPF project. From the Toolbox panel, drag a TextBox control to the designer window.
Attribute example. Now, in the XAML markup, changed the Text attribute to be an empty string. The Text property indicates the string displayed into the TextBox.
Also Add a TextChanged attribute. The Visual Studio editor will offer to insert TextBox_TextChanged after you type "TextChanged" in the XAML.
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox HorizontalAlignment="Left"
Height="23"
Margin="10,10,0,0"
TextWrapping="Wrap"
Text=""
VerticalAlignment="Top"
Width="120"
TextChanged="TextBox_TextChanged"/>
</Grid>
</Window>using System.Windows;
using System.Windows.Controls;
namespace WpfApplication2
{
/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
// ... Get control that raised this event.
var textBox = sender as TextBox;
// ... Change Window Title.
this.Title = textBox.Text + "[Length = " + textBox.Text.Length.ToString() + "]";
}
}
}
Text. When accessed, the Text property always returns a string that indicates the characters currently inside the TextBox. It can also be assigned—this changes the current contents.
Info In the example, we access the Text property twice—first to assign it to the Title, and then to get its length.
TextChanged. This event handler is triggered whenever the Text property of the TextBox changes. It is triggered at startup if a default Text attribute is set.
Tip In TextChanged, you can access the source of the event by casting the "sender" object parameter.
Also The TextChangedEventArgs argument contains details of the changes made on the TextBox.
AcceptsReturn. TextBox has 2 properties that determine how it may be used. The AcceptsReturn attribute, when set to true, allows you to use the TextBox as a multiline input field.
Detail Normally the TextBox does not accept tabs. Instead, focus changes to the next control. AcceptsTab changes this behavior.
Tip In my experience, these 2 "accepts" properties are important in many programs. They expand the domain of uses for this control.
Padding. For some TextBoxes, such as ones that only show one line, padding is not needed. But for larger controls, such as multiline ones, adjusting the Padding attribute is helpful.
And Padding helps when the TextBox is right on the window edge. A margin can sometimes alleviate the need for this much Padding.
Summary. We discovered how to capture user input into this TextBox (with TextChanged). We finally read the Text property, and assigned the Window Title.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 29, 2022 (edit).