Подтвердить что ты не робот

Определить перенос слов для SimpleLabelStyle

Я пытаюсь создать SimpleLabelStyle с включенным word wrapping в качестве второго окна интерактивной демонстрации . Однако я не могу воспроизвести его.

Я пытаюсь:

var /**yfiles.drawing.SimpleLabelStyle*/ simpleLabelStyle = new yfiles.drawing.SimpleLabelStyle();
simpleLabelStyle.trimming = yfiles.system.StringTrimming.WORD;

Но он не работает. Фактически, в документации, я вижу, что обрезка " получает значение, определяющее, как обрезать текст." (он просто говорит "получает", а не "устанавливает" ).

Любая помощь приветствуется!

4b9b3361

Ответ 1

На самом деле вы можете установить значение - эта документация вводит в заблуждение. Свойство объявлено READ-ONLY в интерфейсе (см. Значок):

API ISimpleLabelStyle.trimming

Но экземпляр, который вы создали, реализует интерфейс и делает свойство READ-WRITE. К сожалению, документация наследуется от интерфейса и единственным признаком, что свойство READ-WRITE является то, что значок READ-ONLY отсутствует в браузере API. Любое свойство, которое не является READ-ONLY или WRITE-ONLY, неявно читаемо и доступно для записи, поэтому установка значения будет работать с использованием свойства экземпляра (SimpleLabelStyle.trimming API)

Обратите внимание, что если вы изменяете значение для существующего стиля, изменение не будет сразу видно. Вы должны аннулировать отображение графиков с помощью IGraph.invalidateDisplays() API

var style = new yfiles.drawing.SimpleLabelStyle() 
style.trimming = yfiles.system.StringTrimming.ELLIPSIS_WORD;
graph.setLabelStyle(label, style);

// and later
style.trimming = yfiles.system.StringTrimming.ELLIPSIS_CHARACTER;
graph.invalidateDisplays();

Ответ 2

trimming доступен только для чтения, как указано здесь, поэтому вы не можете использовать его для установки чего-либо.

Похоже, что он не предназначен для установки стиля обтекания для объекта simpleLabelStyle напрямую, так как он не предоставляет ни параметр, ни функцию, чтобы сделать это, но вы можете установить его в то время, когда вы добавляете в него текст. addText и placeText функции позволяют передайте параметр обрезки, который примет аргумент WORD.