<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF" Height="300" Width="300"> <StackPanel> <TextBox AcceptsReturn="True" Height="100" IsReadOnly="True" Name="textBox1" TextAlignment="Left" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto"> Default starting text. </TextBox> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <RadioButton Checked="EditableChecked" Grid.Column="0" HorizontalAlignment="Center" IsChecked="True" Margin="5" Name="editableRadioButton" > Editable</RadioButton> <RadioButton Checked="EditableChecked" Grid.Column="1" HorizontalAlignment="Center" Margin="5" Name="readonlyRadioButton"> Read Only</RadioButton> </Grid> </StackPanel> </Window> //File:Window.xaml.cs using System.Windows; using System.Windows.Controls; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void EditableChecked(object sender, RoutedEventArgs e) { RadioButton button = e.OriginalSource as RadioButton; if (e.OriginalSource == editableRadioButton) { textBox1.IsReadOnly = false; } else if (e.OriginalSource == readonlyRadioButton) { textBox1.IsReadOnly = true; } textBox1.Focus(); } } }