12

我正在尝试创建一个启用SimpleLabelStyleword wrapping,作为交互式演示的第二个框。但是,我无法重现它。

我在尝试:

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

但它不起作用。事实上,在文档中,我看到修剪“获取确定如何修剪文本的值。 ”(它只是说“获取”而不是“设置”)。

任何帮助表示赞赏!

4

2 回答 2

1

实际上,您可以设置该值 - 此文档在此处具有误导性。该属性READ-ONLY 在接口中声明(参见徽章):

ISimpleLabelStyle.trimming API

但是您实例化的实例实现了接口并创建了属性READ-WRITE。不幸的是,文档是从接口继承的,并且该属性是 READ-WRITE 的唯一指示是READ-ONLYAPI 浏览器中缺少徽章。任何不是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();
于 2016-09-14T07:16:10.767 回答
0

trimming是只读的,如此处所示所以你不能用它来设置任何东西。

看起来它并不打算simpleLabelStyle直接为对象设置包装样式,因为它既不提供参数也不提供这样做的功能,但您可以在向其添加文本时设置它。addText和placeText函数允许您传递一个修剪参数,该参数将采用该WORD参数。

于 2016-08-03T08:44:44.877 回答