我正在尝试创建一个 SimpleLabelStyle
并启用 word wrapping
,作为 interactive demo 的第二个框.但是,我无法重现它。
我正在尝试:
var /**yfiles.drawing.SimpleLabelStyle*/ simpleLabelStyle = new yfiles.drawing.SimpleLabelStyle();
simpleLabelStyle.trimming = yfiles.system.StringTrimming.WORD;
但它不起作用。事实上,在 documentation ,我看到修剪“获取决定如何修剪文本的值。”(它只是说“获取”而不是“设置” ").
感谢任何帮助!
最佳答案
实际上您可以设置该值 - 该文档在这里具有误导性。该属性被声明为 READ-ONLY
在界面中(参见徽章):
ISimpleLabelStyle.trimming API
但是您实例化的实例实现了接口(interface)并使属性READ-WRITE
。不幸的是,文档是从接口(interface)继承的,唯一表明该属性是可读写的是 API 浏览器中缺少 READ-ONLY
标志。任何不是 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();
关于html - 为 SimpleLabelStyle 定义自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692561/