Как использовать TextBlock, который позволяет отбрасывать самые левые символы - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть следующий сценарий, который, я думал, будет иметь простое решение, но я в тупике ...

Я создал пользовательский элемент управления WPF с набором числовых кнопок и TextBlock, чтобы записывать, какие кнопки были выбраны. Когда пользовательский элемент управления открывается, TextBlock пуст. Когда кнопка выбрана, соответствующая ей цифра добавляется в правую часть отображаемого текста.

Что мне нужно, так это решение, в котором цифры продолжают добавляться справа, и если это приводит к превышению фиксированного отображаемого размера TextBlock, удаляя крайний левый символ. По сути, я нахожусь после эффекта «один знак за раз».

Я не могу использовать полосы прокрутки. Любые мысли приветствуются

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

Обозначения данных - это ваш друг.

Предположим, у вас есть ViewModel.и в ViewModel вы получили свойство строки, которое привязано к текстовой структуре TextBlock.

Теперь вам нужно только манипулировать этой строкой внутри ViewModel, используя обычные строковые методы c # для правильного отображения.HTH

Ариэль

0 голосов
/ 23 февраля 2011

Нет ничего особенного на уровне TextBlock ... Просто передайте ему строку, отформатированную правильно, используя что-то вроде string.SubString .

ОБНОВЛЕНИЕ: Этокод должен сделать трюк:

const int maxLength = 8;

string value = "sdfdfdfsdffdsfsdf";

if (value.Length > maxLength)
   value = value.Substring(value.Length - maxLength);
...