Я выполняю операцию копирования и вставки в многострочном текстовом поле. Метод вставки Работает хорошо в обычных случаях, но всякий раз, когда я нажимаю клавишу ввода (клавиша возврата), а затем вставляю содержимое буфера обмена, он просто добавляет текст, между текстом не создается пробел или новая строка.
Код позади:
private async void PasteButton_Click(object sender, RoutedEventArgs e)
{
DataPackageView dataPackageView = Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Text))
{
try
{
string TextCopied = await dataPackageView.GetTextAsync();
var selectionIndex = MainTextBox.SelectionStart;
MainTextBox.Text = MainTextBox.Text.Insert(selectionIndex, TextCopied);
MainTextBox.SelectionStart = selectionIndex + TextCopied.Length;
MainTextBox.Focus(FocusState.Pointer);
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(ex.Message);
await md.ShowAsync();
}
}
}
XAML: <TextBox Name="MainTextBox" AcceptsReturn="True" Padding="5,5,15,5" BorderThickness="0" ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto" TextChanged="MainTextBox_TextChanged"/>
Например: то, что я пытаюсь достичь, это: текст первой строки.
вторая строка текста
Я получаю следующее: Текст первой строки. Текст второй строки.