为SimpleLabelStyle定义自动换行

时间:2016-08-01 06:48:35

标签: html yfiles

我正在尝试创建SimpleLabelStyle并启用word wrapping,作为interactive demo的第二个框。但是,我无法重现它。

我在尝试:

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

但它没有用。事实上,在documentation中,我看到修剪" 获取 决定如何修剪文本的值。" (它只是说"得到"而不是"设置")。

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

实际上你可以设置值 - 这个文档在这里有误导性。该属性在界面中声明为READ-ONLY (请参阅徽章):

ISimpleLabelStyle.trimming API

但是,您已实例化的实例实现了接口并使属性READ-WRITE成为可能。遗憾的是,文档继承自接口,并且该属性为READ-WRITE的唯一指示是API浏览器中缺少READ-ONLY徽章。任何非READ-ONLYWRITE-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();

答案 1 :(得分:0)

simpleLabelStyle是只读的,如here所示,因此您无法使用它来设置任何内容。

它似乎并不打算直接为WORD对象设置包装样式,因为它既不提供参数也不提供功能,但您可以在向其添加文本时设置它。 addTextplaceText函数允许您传递修剪参数,该参数将采用<iframe src="one.htm" height="200" width="300"></iframe> 参数。