Мне нужно ограничить количество символов в одной строке, которые пользователь может ввести в многострочное текстовое поле.У меня есть функция, которая может сделать это для данных, набранных, но не для данных, вырезанных и вставленных.
Я попытался прочитать текстовое поле в массив, используя подстроку и скопировать обратно в текстовую строку,но этот код (размещен) выдает исключение.
private void LongLine_TextChanged(object sender, TextChangedEventArgs e)
{
int lineCount =
((System.Windows.Controls.TextBox)sender).LineCount;
//string newText = "";
for (int i = 0; i < lineCount; i++)
{
if
(((System.Windows.Controls.TextBox)sender).GetLineLength(i) > 20)
{
string textString = ((System.Windows.Controls.TextBox)sender).Text;
string[] textArray = Regex.Split(textString, "\r\n");
textString = "";
for (int k =0; k < textArray.Length; k++)
{
String textSubstring = textArray[k].Substring(0, 20);
textString += textSubstring;
}
((System.Windows.Controls.TextBox)sender).Text = textString;
}
}
e.Handled = true;
}