Отформатируйте текст в обработчике событий TextChanged.
Обновление после комментария:
Вам не нужно ничего делать, просто обработайте событие textchange:
XAML:
<TextBox x:Name="tbTarget" TextChanged="tbTarget_TextChanged" />
Код:
void tbTarget_TextChanged(object sender, TextChangedEventArgs e)
{
Dim tb = (TextBox)sender;
tb.Text = tb.Text.ToUpper();
}
Если TextBox предназначен только для вставки текста, cosider устанавливает его свойство IsReadOnly
в true.
Обновление после последнего комментария:
Добавьте следующее к вашему классу кода:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataObject.AddPastingHandler(tb,
new DataObjectPastingEventHandler(tb_Pasting));
}
private void tb_Pasting(object sender, DataObjectPastingEventArgs e)
{
if (e.SourceDataObject.GetDataPresent(DataFormats.Text))
{
var text =
(string)e.SourceDataObject.GetData(DataFormats.Text) ?? string.Empty;
e.DataObject = new DataObject(DataFormats.Text, text.ToUpper());
}
}
}