Как установить 'RowLength' для текстового поля в Silverlight? - PullRequest
0 голосов
/ 17 февраля 2010

возможно ли установить количество символов в строке для многострочного (AcceptsReturn = "True") текстового поля в Silverlight? Как атрибут Cols для Textarea в HTML.

1 Ответ

1 голос
/ 17 февраля 2010

Не совсем. Обычно вы просто устанавливаете высоту и ширину на то, что вы хотите. Есть ли конкретная причина, по которой вам нужно определенное количество символов в каждой строке?

[EDIT]
Я нашел здесь некоторый код, который разбивает строку на равные куски:
Разделение строки на куски определенного размера
Используя это, я придумал следующее. Работает нормально, но нуждается в настройке.

private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
    var text = (sender as TextBox).Text.Replace(Environment.NewLine, "").Chunk(8).ToList();

    (sender as TextBox).Text = String.Join(Environment.NewLine, text.ToArray());
    (sender as TextBox).SelectionStart = (sender as TextBox).Text.Length;
}

И метод расширения:

public static class Extensions
{
    public static IEnumerable<string> Chunk(this string str, int chunkSize)
    {
        for (int i = 0; i < str.Length; i += chunkSize)
            yield return str.Substring(i, Math.Min(chunkSize, str.Length - i));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...