Без создания пользовательского элемента управления у вас есть несколько вариантов.
Вы можете попытаться изменить размер TextBlock
, чтобы он точно соответствовал ожидаемому тексту, но это ужасно быстро, если учесть различный ввод или размер шрифта.
Вместо этого вы можете проверитьдлина символа строки, которая будет присвоена свойству TextBlock.Text
, и ограничьте ее при необходимости.
string s = "new text";
if (s.Length > maxLen)
textBlock1.Text = s.Substring(0, maxLen);
else
textBlock1.Text = s;
Другой вариант - использовать свойства TextWrapping
и TextTrimming
.Следующие атрибуты могут быть добавлены в TextBlock
xaml для добавления переноса строк и «...» для обозначения того, что текст существует за пределами размера TextBlock
.
<TextBlock ... TextWrapping="Wrap" TextTrimming="CharacterEllipsis" />